Dengan munculnya aplikasi front-end Web yang kaya, pengembang harus memeriksa ulang dan memperhatikan kemampuan dan penggunaan bahasa JavaScript, meninggalkan model masa lalu yang hanya “menyalin/menempelkan” skrip umum untuk menyelesaikan tugas front-end sederhana . Bahasa JavaScript sendiri adalah bahasa skrip yang diketik dengan lemah dengan batasan yang lebih longgar dibandingkan bahasa C++ atau Java. Semua ide pemrograman fungsional yang berpusat pada fungsi juga memberikan implementasi sintaksis yang lebih fleksibel kepada pengembang. Namun, meskipun fleksibilitas ini memberikan efisiensi, hal ini juga menjadi mimpi buruk bagi pengembang JavaScript pemula atau belum berpengalaman. Gaya pengkodean yang berbeda dan perilaku kode yang salah telah sangat mempengaruhi keterbacaan dan stabilitas kode secara keseluruhan, dan telah menjadi salah satu masalah paling umum dalam proyek Web.
Oleh karena itu, kami memerlukan alat kualitas kode JavaScript yang efektif sehingga kami dapat segera menemukan dan memperbaiki masalah yang tersembunyi dalam kode JavaScript dan memastikan kualitas pengiriman kode. Sebagai alat pemeriksaan kualitas kode JavaScript yang fleksibel dan efektif, JSLint memungkinkan pengguna untuk menentukan konvensi gaya pengkodean yang memenuhi kebutuhan pengembangan aplikasi spesifik mereka, membuat keseluruhan proyek disatukan dalam gaya. Cara kerja yang didorong oleh "aturan" (opsi) ini membuat JSLint dapat diterapkan untuk kebutuhan deteksi kode yang berbeda. Artikel ini pertama-tama akan memperkenalkan kepada pembaca konsep dasar dan fungsi JSLint, menjelaskan metode kerja berbasis aturan, dan kemudian mengilustrasikan penggunaan dasarnya melalui sebuah contoh. Terakhir, artikel ini akan memperkenalkan cara mengintegrasikan JSLint ke dalam proses aplikasi Ant dan Eclipse untuk mendemonstrasikan semua aspek. Cara menggunakan JSLint dalam tugas pengembangan sehari-hari.
Apa itu JSLint
Sebagai bahasa muda dengan sintaksis yang fleksibel dan persyaratan format yang relatif longgar, JavaScript memiliki format kode yang membingungkan dan penggunaan fitur bahasa tertentu yang salah, yang sering kali mengakibatkan produk akhir yang dikirimkan mengandung banyak kesalahan tak terduga yang disebabkan oleh perilaku atau kesalahan gaya pengkodean Jika masalah yang biasa terjadi jika tidak ditunjukkan dan diperbaiki tepat waktu, masalah tersebut akan sering terulang kembali selama proses iterasi proyek, sehingga berdampak serius pada stabilitas dan keamanan produk Web. JSLint adalah alat yang dibuat oleh Douglas Crockford untuk memecahkan masalah tersebut. Selain menunjukkan konvensi yang tidak masuk akal ini, JSLint juga dapat menandai masalah struktural. Meskipun JSLint tidak dapat menjamin bahwa logika kodenya benar, JSLint dapat membantu menemukan kesalahan dan mengajari pengembang beberapa praktik pengkodean yang baik. Perlu disebutkan bahwa alat JSLint itu sendiri juga merupakan bagian dari kode JavaScript. Ini adalah skrip JavaScript yang memeriksa kualitas kode JavaScript. Pemeriksaan kualitas skrip JavaScript JSLint terutama mencakup aspek-aspek berikut:
• Mendeteksi kesalahan sintaksis: Misalnya, pemasangan tanda kurung kurawal "{}" yang salah.
•Spesifikasi definisi variabel: seperti deteksi variabel yang tidak terdefinisi.
•Spesifikasi format kode: Misalnya, tidak ada titik koma di akhir kalimat.
• Deteksi penggunaan fitur bahasa jelek: pembatasan penggunaan seperti eval dan with.
Pembaruan versi JSLint telah aktif. Pada saat artikel ini ditulis, versi terbaru JSLint telah dirilis pada 10-10-2010. Banyak editor kode mainstream memberikan dukungan tambahan yang baik untuk JSLint, termasuk Eclipse, VS2008, dan sebagainya.
Saat ini sudah banyak alat pendeteksi kode JavaScript yang fungsinya mirip dengan JSLint, antara lain: YUI Test, Firebug, MS Script Debugger, CompanionJS, dll. Kebanyakan ada dalam bentuk plug-in browser di browser klien untuk menjalankan JavaScript. Perbedaan penting antara JSLint dan alat-alat ini adalah bahwa ia lebih memperhatikan deteksi dan debugging format kode statis, yang memang dibutuhkan dan dianjurkan untuk konstruksi berkelanjutan dalam pengembangan tangkas yang sedang populer saat ini.
Pahami aturan JSLint
Prinsip inti pemeriksaan kualitas kode JSLint terletak pada seperangkat aturan yang ditetapkan oleh pengguna. Kumpulan aturan yang disediakan oleh JSLint secara default berisi gaya pengembangan yang telah dikumpulkan oleh pengembang Web selama bertahun-tahun dan menganggapnya buruk. Kita dapat memilih untuk membuat seperangkat aturan tertentu sesuai dengan kebutuhan proyek kita sendiri. JSLint akan memindai skrip JavaScript berdasarkan itu dan memberikan informasi deskripsi masalah yang sesuai. Aturan berbentuk beberapa kumpulan pasangan kunci-nilai: [param:option], dengan nama aturan sebagai kuncinya dan apakah aturan tersebut dipanggil atau tidak sebagai nilainya. Misalnya, aturan: "plusplus:true" tidak mengizinkan munculnya operator ++ dan --, dan "undef:true" tidak mengizinkan penggunaan variabel yang tidak ditentukan.
Karena alat JSLint pada dasarnya adalah skrip JS biasa, pengoperasiannya secara alami bergantung pada mesin runtime JS. Setelah dimuat oleh mesin, alat ini akan menghasilkan objek fungsi JSLint global di memori. Objek fungsi ini memerlukan dua input: sumber dan opsi, yang pertama digunakan untuk menentukan string atau larik string yang dihasilkan setelah file skrip yang akan dideteksi diurai, dan yang terakhir mewakili opsi aturan yang ditentukan pengguna. Jika opsinya kosong, JSLint menggunakan aturan defaultnya untuk memindai dan mendeteksi sumber.
Seluruh proses pendeteksian merupakan proses eksekusi fungsi JSLINT (sumber, opsi) yang terdapat dalam skrip. Ketika skrip sumber yang ditentukan melewati deteksi dalam kondisi opsi, JSLint mengembalikan nilai true, jika tidak maka akan mengembalikan false, dan saat ini, informasi kesalahan terperinci dapat diperoleh melalui objek JSLINT.errors. Gambar 1 menunjukkan keseluruhan proses kerja JSLint.
Gambar 1. Diagram skema proses kerja JSLint
Seperti yang ditunjukkan pada gambar, ada tiga cara untuk mengonfigurasi kumpulan aturan:
1. Ubah aturan default secara langsung dengan memodifikasi kode sumber JSLint.js.
2. Saat fungsi JSLint berjalan, atur parameter opsi secara bersamaan dan ubah opsi aturannya secara dinamis (timpa pertama). Metode ini cocok untuk menggunakan seperangkat aturan khusus yang sama untuk file batch js.
3. Tambahkan aturan khusus (penimpaan kedua) yang berlaku pada kode satu file js dengan menambahkan aturan jenis anotasi ke header file js yang akan dideteksi. Metode ini cocok untuk menetapkan aturan deteksi spesifik untuk file js yang berbeda, dan biasanya digunakan untuk memasukkan beberapa variabel global ke dalam file.