JavaScript tidak mempunyai panduan gaya pengekodan yang berwibawa, sebaliknya terdapat beberapa gaya pengekodan yang popular:
1. Perbandingan gaya kod
1.1 Inden
Dua ruang, tiada lagi lekukan, tiada lekukan tab: Google, NPM, Node.js, Idiomatik
Inden tab: jQuery
4 ruang: Crockford
1.2 Ruang antara parameter dan ungkapan
Gunakan gaya padat: Google, NPM, Node.js
1.3 Panjang baris kod
Sehingga 80 aksara: Google, NPM, Node.js, Crockford (Apabila berada di dalam blok kod, lekukan selain 2 ruang membenarkan menjajarkan argumen fungsi ke kedudukan argumen fungsi pertama. Pilihan lain Gunakan 4 ruang untuk lekukan apabila membalut secara automatik)
Tiada ulasan lagi: jQuery, Idiomatik
1.4 titik bertitik
Sentiasa gunakan koma bertitik, jangan bergantung pada sisipan tersirat: Google, Node.js, Crockford
Jangan gunakan jangkakan dalam situasi tertentu: NPM
Tiada ulasan lagi: jQuery, Idiomatik
1.5 Nota
Ikuti konvensyen JSDoc: Google, Idiomatik
Tiada ulasan lagi: NPM, Node.js, jQuery, Crockford
1.6 Petikan
Petikan tunggal yang disyorkan: Google, Node.js
Petikan berganda: jQuery
Tiada ulasan: NPM, Idiomatik, Crockford
1.7 Pengisytiharan berubah
Isytihar satu demi satu, tanpa koma: Node.js
1.8 Braces
Gunakan pendakap bukaan pada baris yang sama: Google, NPM, Node.js, Idiomatik, jQuery, Crockford
1.9 Pembolehubah global
Jangan gunakan pembolehubah global: Google, Crockford (Google mengatakan bahawa konflik penamaan pembolehubah global sukar untuk dinyahpepijat dan mungkin menyebabkan beberapa masalah yang menyusahkan apabila kedua-dua projek sedang disepadukan. Untuk memudahkan perkongsian kod JavaScript biasa, satu konvensyen perlu diwujudkan untuk Mengelakkan konflik Crockford percaya bahawa pembolehubah global tersirat tidak boleh digunakan)
Tiada ulasan: Idiomatik, jQuery, NPM, Node.js
2 Gaya penamaan
2.1 Penamaan pembolehubah
Perkataan pertama pada permulaan ialah huruf kecil, dan huruf pertama bagi semua perkataan berikutnya ditulis dengan huruf besar: Google, NPM, Node.js, Idiomatik
2.2 Penamaan Malar
Gunakan huruf besar: Google, NPM, Node.js
2.3 Penamaan Fungsi
Perkataan pertama pada permulaan ialah huruf kecil, dan huruf pertama semua perkataan berikutnya ditulis dengan huruf besar (huruf besar): Google, NPM, Idiomatik, Node.js (disyorkan untuk menggunakan nama fungsi deskriptif yang panjang)
2.4 Penamaan tatasusunan
Gunakan bentuk jamak: Idiomatik
2.5 Penamaan objek dan kelas
Gunakan borang berikut: Google, NPM, Node.js
2.6 Penamaan lain
Gunakan borang all-lower-hyphen-css-case untuk nama fail panjang dan kekunci konfigurasi: NPM
3. Konfigurasikan fail .jshintrc mengikut gaya di atas
JSHint (http://www.jshint.com/) ialah sintaks JavaScript dan alat semakan gaya yang boleh anda gunakan untuk memaklumkan anda tentang isu berkaitan gaya kod. Ia boleh disepadukan dengan baik ke dalam banyak editor yang biasa digunakan dan merupakan alat yang hebat untuk menyatukan gaya pengekodan pasukan.
Anda boleh melihat pilihan yang tersedia melalui dokumentasi JSHint: http://www.jshint.com/docs/#options
Seterusnya, cipta fail .jshintrc berdasarkan gaya pertama di bawah setiap kategori di atas. Anda boleh meletakkannya dalam direktori akar projek, dan editor kod JSHint-avare akan mengikutinya untuk menyatukan semua gaya kod dalam projek.
Selain itu, anda harus menambah pengepala berikut pada fail JavaScript anda:
Dalam fail Node.js anda harus menambah:
4. Laksanakan JSHint secara automatik sebelum membuat komitmen kepada Git
Jika anda ingin memastikan bahawa semua kod JS konsisten dengan gaya yang ditakrifkan dalam .jshintrc, anda boleh menambah kandungan berikut pada fail .git/hooks/pre-commit anda apabila anda cuba melakukan sebarang perubahan baharu Semakan gaya ialah dilakukan secara automatik apabila fail ditambahkan pada projek.
nama fail=($(git diff --cached --name-only HEAD))
yang mana &> /dev/null
jika [ $? -ne 0 ];
kemudian
echo "ralat: jshint tidak ditemui"
echo "pasang dengan: sudo npm install -g jshint"
keluar 1
fi
untuk i dalam "${filenames[@]}"
lakukan
Jika [[ $i =~ .js$ ]];
Kemudian
echo jshint $i
jsint $i
jika [ $? -ne 0 ];
kemudian
keluar 1
fi
fi
selesai