1. Menghilangkan redup memang mudah, tetapi juga bahaya tersembunyi!
Menerapkan variabel dan kemudian menggunakannya adalah pendekatan standar:
redup a
sebuah = "1"
Sebenarnya, Anda bisa melakukannya tanpa menulis redup:
sebuah = "1"
Sistem tidak menganggap ada kesalahan. Secara otomatis akan menentukan apakah a adalah variabel yang ada. Jika ada, maka akan terus dijalankan. Jika tidak ada, maka secara otomatis akan berlaku untuk Anda! Tampaknya sistemnya sangat cerdas, cerdas, dan penuh perhatian, tetapi ada bahaya tersembunyi! Apakah sistem mengetahui maksud saya? Sistem kemungkinan besar terlalu pintar dan tidak membantu! Pertanyaan 1: Jika saya pernah mengajukan permohonan untuk suatu variabel sebelumnya, seperti administrator, dan saya ingin memberikan nilai ke variabel ini nanti, sayangnya saya menulis huruf yang salah atau melewatkan a surat, seperti administrator = "saya", sistem akhirnya menunggu kesempatan untuk "membantu" saya, dan "secara sukarela" mendeklarasikan variabel untuk saya. Ya, program mungkin dapat berjalan, tetapi logikanya kacau. Karena sistem tidak melaporkan kesalahan (atau melaporkan kesalahan lain yang menyesatkan Anda), Anda tidak dapat menemukan masalahnya dengan cepat menghabiskan banyak waktu. Bagaimana perasaan Anda setelah menghabiskan banyak waktu untuk menemukan akar permasalahannya? Anda pasti ingin memarahi sistem karena "motivasi diri". Jika sistem melaporkan bahwa nama variabel administrator tidak ada, saya akan segera tahu bahwa saya salah mengeja dan memperbaiki masalah dengan cepat tanpa harus "memanjakan" dalam sistem "otomatis" Bersemangatlah "! Bahaya tersembunyi lainnya yang disebabkan oleh hilangnya redup akan dibahas nanti!
2. Variabel yang dideklarasikan dalam fungsi tidak akan mengganggu variabel eksternal!
Misalnya:
< %@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>
<%
redup a
sebuah = "1"
fungsi gettr()
redup a
sebuah = "2"
fungsi akhir
. Tulis a & "<br>"
mendapatstr()
respon.Tulis & "<br>"
%>
Hasilnya menunjukkan bahwa variabel yang dideklarasikan di dalam fungsi tidak akan mengganggu dunia luar. Faktanya, setiap orang yang pernah mempelajari bahasa lain harus mengetahui hal ini! Namun harus dinyatakan terlebih dahulu bahwa jika dim a di dalam fungsi tersebut dihilangkan, maka a tersebut dianggap sebagai a eksternal, dan hasilnya akan berubah! Ruang lingkup variabel yang diterapkan dalam file adalah file ini.
3. Penyertaan yang membuat orang menyukainya sekaligus membencinya!
include dapat memperjelas struktur program ASP, dan beberapa fungsi yang umum digunakan dapat dibagikan oleh file lain! Meski membawa manfaat, Anda harus memperhatikan kekurangannya!
Sekarang kembali ke penghilangan dim yang disebutkan pada poin pertama. Yang saya sebutkan sebelumnya adalah bahwa tugas saya "dengan baik hati" diubah menjadi variabel yang dideklarasikan oleh sistem. Apa yang saya bicarakan sekarang justru sebaliknya. Saya ingin mendeklarasikan sebuah variabel, tetapi sistem memberikan nilainya karena dimungkinkan untuk mendeklarasikan sebuah variabel meskipun dim dihilangkan sering kali tidak bisa menahan godaan ini (kadang-kadang saya juga suka menerapkan seperti ini. , hehe) Tapi, bisakah Anda menjamin bahwa nama variabel yang Anda lamar tidak ada dalam program sebelumnya? Jika di depannya ada nama variabel ini, berarti Anda sudah melamar tugas? Kesalahan ini mungkin jarang terjadi pada file yang sama, tapi jangan lupa sertakan. Ini adalah file yang disertakan. Jika file yang disertakan berisi variabel yang Anda lamar, maka Anda gagal masalah logis. Jika Anda tidak malas dan menggunakan dim untuk menerapkannya, ketika kesalahan dilaporkan, Anda akan beruntung mengetahui bahwa nama variabel ini sudah ada! Ini akan segera diperbaiki!
Sekarang mari kita bahas situasi yang lebih rumit. Jika Anda memasukkan dua file, akan ada nama variabel yang sama di kedua file. Jika Anda menggunakan dim untuk menerapkan keduanya, oke, itu hanya akan melaporkan kesalahan yang mengatakan bahwa nama variabel sudah ada. , Anda akan segera mengetahui masalahnya. Sekarang Anda dapat memahami mengapa saya berbicara tentang cakupan poin kedua. Karena cakupannya, variabel dengan nama yang sama di file yang berbeda umumnya tidak akan "bertarung". Namun jika disertakan oleh file lain pada saat yang sama maka akan merepotkan masalahnya, jadi jika file asp yang Anda tulis dimaksudkan untuk disertakan, harap cegah terjadinya situasi dengan nama yang sama. Kembali ke pembahasan awal, akan baik-baik saja jika kedua variabel penyertaan dengan nama yang sama dim ketika diterapkan pada dua file penyertaan, tetapi masalah muncul jika file yang disertakan kemudian diterapkan dengan menghilangkan dim menjadi sebuah tugas. Yang parahnya, ini ada di dua file include, yang sangat tersembunyi, sehingga lebih sulit untuk menemukan masalahnya!
Singkatnya, Anda dapat menulis beberapa contoh sederhana untuk memahami masalahnya.
1. Harap gunakan dim untuk menerapkan variabel sebelum menggunakannya! Terutama program kompleks yang dikembangkan oleh banyak orang!
2. Saat memberikan nilai pada variabel, harap perhatikan ejaan variabelnya!
3. Pahami dengan cermat file yang disertakan.
***Sekarang mari kita bicara tentang pengecekan kesalahan:
Faktanya, menemukan masalah lebih penting daripada menulis kode! Dari pengalaman pribadi saya, masalah terbagi dalam tiga kategori:
1. Jenis pelaporan kesalahan, masalah yang dihadapi oleh sistem kompilasi selama proses kompilasi sistem, akan memberikan pesan kesalahan. Ini adalah masalah favorit para programmer. Haha, bukan hal yang aneh, tapi masalah seperti ini adalah paling mudah untuk diperiksa!
2. Tipe logika, masalah yang agak mengganggu. Program berhasil dikompilasi dan dapat dijalankan, tetapi hasil yang ditampilkan tidak sesuai dengan yang diharapkan dalam logika Anda. Astaga! Apa yang harus saya lakukan? Tidak ada pesan cepat. Saya hanya dapat menganalisis hasil kesalahan berdasarkan pengalaman dan perasaan, lalu memeriksa kode sumber. Jika semuanya berjalan dengan baik, itu akan teratasi dalam beberapa menit hasil setelah hari yang sulit!
3. Kategori kinerja, masalah yang buruk. Program berhasil dikompilasi, berjalan normal, dan ditampilkan secara normal! Namun, kadang-kadang kesalahan datang kepada Anda sesekali, dan Anda tidak tahu dalam keadaan apa kesalahan itu dipicu, atau kinerja program tidak setinggi program serupa dan berjalan lambat. Beberapa masalah ini dapat diselesaikan dalam waktu singkat seminggu atau sebulan, dan ada pula yang bisa diatasi dalam waktu seminggu atau sebulan. Saya telah tersiksa sampai mati oleh masalah seperti ini!
Oleh karena itu jika ingin belajar pemrograman dengan baik harus berusaha menyelesaikan masalahnya sendiri, apalagi seperti program ASP, tidak banyak masalah dengan logika, masalah yang terjadi pada dasarnya adalah laporan error tidak perlu menganalisisnya sendiri. Sulit dipecahkan. Saya pikir beberapa orang bersedia menghabiskan tiga hari di forum menunggu orang lain menceritakan masalah mereka. Mengapa mereka tidak menyelesaikannya sendiri? Jika Anda menemukan masalahnya sendiri, Anda akan mendapatkan pengalaman. Inilah kekayaan programmer!
***Sedikit pengalaman programmer:
Jangan berpikir bahwa Anda adalah seorang programmer hanya karena Anda dapat menulis beberapa baris kode atau telah melakukan beberapa program kecil. Setelah Anda bekerja di sebuah perusahaan perangkat lunak selama beberapa tahun, Anda akan memahami apa artinya menjadi seorang programmer. Menulis kode tidak lain hanyalah pemeriksaan kesalahan dan pengoptimalan kode. Kode, menulis dokumentasi perangkat lunak (bukan panduan pengguna sederhana, tetapi aplikasi proyek, instruksi desain awal proyek, instruksi desain detail proyek, instruksi desain database, instruksi pengujian proyek, panduan pengguna, pengguna) manual pemeliharaan, dll.), fakta Hanya karena Anda bisa memprogram, bukan berarti Anda bisa mengembangkan perangkat lunak. Faktanya, saya kurang pandai dalam beberapa aspek, seperti menulis dokumentasi software. Haha, itu hal yang menakutkan untuk dipikirkan. Menulis dokumentasi software jauh lebih menyakitkan daripada menulis program! Saya telah menjadi programmer Delphi selama tiga tahun, meskipun saya menyelesaikan proyek perangkat lunak yang bagus ketika saya keluar dari perusahaan. Namun saya masih merasa kurang, maka sekarang saya terus menambah keterampilan di aspek lain. Persaingan di masyarakat ini sudah sangat ketat. Semakin sedikit Anda bekerja, semakin keras Anda bekerja untuk mendekati pengangguran!
Mengenai pertanyaan pertama, saya sangat menyarankan Anda menggunakan Dim untuk mendefinisikan variabel sebelum menggunakannya. Tidak terlalu sulit untuk menulis satu baris kode lagi. Kemudian gunakan <%Option Explicit%> di header file ASP. Dengan cara ini, jika Anda secara tidak sengaja salah menulis nama variabel, kesalahan bahwa variabel tidak ditentukan akan dikembalikan, dan lokasi kesalahan dapat dengan mudah ditemukan. Jika tidak, variabelnya adalah nilai Null.
Selain itu, mari kita bahas pertanyaan kedua sehubungan dengan Option Explicit. Terkadang kita perlu menyertakan banyak file (seperti definisi kepala, navigasi atas, dan kode lainnya), dan Opsi Eksplisit hanya dapat digunakan dalam Aplikasi ASP (perhatikan bahwa ini mengacu pada aplikasi di sini, secara khusus merujuk pada aplikasi, bukan halaman, dan tidak berarti satu halaman) satu kali. Oleh karena itu, Opsi Eksplisit sebaiknya tidak ditempatkan di dalam file penyertaan untuk menghindari kebingungan yang disebabkan oleh pemanggilan berulang kali di beberapa halaman.
Mari kita bahas pertanyaan kecil tentang penyertaan. Umumnya jika file yang akan dimasukkan ada di direktori saat ini, kita bisa langsung menggunakannya
<!--#include file="abc.asp"-->
untuk memasukkannya. Namun, sering kali kita memiliki N file yang perlu disertakan. Oleh karena itu, untuk memudahkan pengelolaan, kami menempatkannya di direktori INC atau include. Dengan cara ini, terkadang kode penyertaan ditulis sebagai:
<!--#include file="..incabc.asp" -->
Ini yang ingin saya bahas. Harap dicatat bahwa menggunakan .. dapat mengakses direktori atas, yang membawa risiko keamanan: pengguna mungkin secara ilegal mereferensikan file di luar situs. Karena alasan ini, alat IIS Lockdown yang dirilis oleh Microsoft memblokir metode referensi ini, dan Microsoft memblokir metode ini secara default di IIS6.0 Windows Server 2003. Untuk file yang disertakan yang tidak ada dalam direktori ini, disarankan untuk menggunakan metode referensi aman ini:
<!--#include virtual="/inc/abc.asp"-->
Selamat datang eksplorasi dan diskusi yang lebih bermanfaat