Haruskah file diberi nama sesuatu-dengan-hyphens.js, camelCased.js, atau yang lainnya?
Saya tidak menemukan jawaban untuk pertanyaan ini di sini .
Haruskah file diberi nama sesuatu-dengan-hyphens.js, camelCased.js, atau yang lainnya?
Saya tidak menemukan jawaban untuk pertanyaan ini di sini .
Jawaban:
Satu kemungkinan konvensi penamaan adalah menggunakan sesuatu yang mirip dengan skema penamaan yang digunakan jQuery. Ini tidak diadopsi secara universal tetapi cukup umum.
product-name.plugin-ver.sion.filetype.js
di mana pasangan product-name
+ plugin
juga bisa mewakili namespace dan modul . Opsi version
dan filetype
biasanya opsional.
filetype
bisa menjadi sesuatu yang relatif terhadap bagaimana konten file tersebut. Yang sering terlihat adalah:
min
untuk file yang diperkecilcustom
untuk file yang dibuat khusus atau yang dimodifikasiContoh:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
Saya tidak mengetahui adanya konvensi khusus untuk file javascript karena mereka tidak benar-benar unik di web dibandingkan file css atau file html atau jenis file lain seperti itu. Ada beberapa hal "aman" yang dapat Anda lakukan yang membuatnya kecil kemungkinan Anda secara tidak sengaja akan mengalami masalah lintas platform:
various-scripts.js
, tanda hubung adalah pemisah yang aman dan berguna dan umum digunakan.Tidak ada yang resmi, universal konvensi , untuk penamaan file JavaScript.
Ada beberapa pilihan:
scriptName.js
script-name.js
script_name.js
semua konvensi penamaan yang valid, namun saya lebih suka konvensi penamaan yang disarankan jQuery (untuk plugin jQuery, meskipun ia berfungsi untuk JS apa pun)
jquery.pluginname.js
Keindahan dari konvensi penamaan ini adalah ia secara eksplisit menggambarkan polusi namespace global yang ditambahkan.
foo.js
menambahkan window.foo
foo.bar.js
menambahkan window.foo.bar
Karena saya meninggalkan versi: itu harus datang setelah nama lengkap, sebaiknya dipisahkan oleh tanda hubung, dengan periode antara versi utama dan kecil:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
, tidak pernah memperhatikan bahwa
Foo
atau myFoo
, apakah Anda cukup memberi nama file Foo.js
atau myFoo.js
masing - masing?
Pertanyaan di tautan yang Anda berikan bicara tentang penamaan variabel JavaScript, bukan tentang penamaan file, jadi lupakan itu untuk konteks tempat Anda mengajukan pertanyaan.
Untuk mengajukan penamaan, ini murni masalah preferensi dan selera. Saya lebih suka memberi nama file dengan tanda hubung karena saya tidak perlu meraih tombol shift, seperti yang saya lakukan ketika berhadapan dengan nama file camelCase; dan karena saya tidak perlu khawatir tentang perbedaan antara nama file Windows dan Linux (nama file Windows tidak peka huruf besar-kecil, setidaknya melalui XP).
Jadi jawabannya, seperti banyak orang, adalah "tergantung" atau "terserah Anda."
Satu aturan yang harus Anda ikuti adalah konsisten dalam konvensi yang Anda pilih.
Saya biasanya lebih suka tanda hubung dengan huruf kecil, tetapi satu hal yang belum disebutkan adalah bahwa kadang-kadang senang memiliki nama file yang sama persis dengan nama modul tunggal atau fungsi instantiable yang terkandung di dalamnya.
Sebagai contoh, saya memiliki modul pengungkapan yang dideklarasikan dengan var knockoutUtilityModule = function() {...}
file sendiri bernama knockoutUtilityModule.js, meskipun secara obyektif saya lebih suka knockout-utility-module.js.
Demikian pula, karena saya menggunakan mekanisme bundling untuk menggabungkan skrip, saya telah mengambil definisi fungsi instantiable (model tampilan templated dll) masing-masing dalam file mereka sendiri, gaya C #, untuk pemeliharaan. Sebagai contoh, ProductDescriptorViewModel hidup dengan sendirinya di dalam ProductDescriptorViewModel.js (saya menggunakan huruf besar untuk fungsi instantiable).
MyPlugin
kelas akan pergi diMyPlugin.js
. TheMenuItem
Bereaksi komponen akan masukMenuItem.js
. Pengembang lainnya akan membutuhkan / mengimpor 'modul-Anda-keren' dan menggunakan beberapa simbol dari sana, jadi beri namacool-module.js
. -