Saya tahu ada banyak kontroversi (mungkin bukan kontroversi, tetapi setidaknya argumen) tentang konvensi penamaan mana yang terbaik untuk JavaScript.
Bagaimana Anda memberi nama variabel, fungsi, objek, dan semacamnya?
Saya akan meninggalkan pemikiran saya sendiri tentang hal ini, karena saya belum pernah melakukan JS untuk waktu yang lama (hanya beberapa tahun), dan saya baru saja mendapat permintaan untuk membuat dokumen dengan konvensi penamaan yang akan digunakan dalam proyek-proyek kami di tempat kerja . Jadi saya sudah mencari (google-ing) di sekitar, dan ada begitu banyak pendapat berbeda.
Buku-buku yang saya baca di JS juga menggunakan konvensi penamaan yang berbeda, tetapi mereka semua setuju sedikit: "Temukan yang cocok untuk Anda, dan patuhi itu." Tetapi sekarang setelah saya membaca begitu banyak, saya menemukan bahwa saya menyukai beberapa metode lain yang sedikit lebih baik daripada yang saya gunakan sekarang.
sumber
Jawaban:
Saya mengikuti konvensi kode Douglas Crockford untuk javascript. Saya juga menggunakan alat JSLint untuk memvalidasi mengikuti konvensi tersebut.
sumber
ECBhandle
vs.ecbHandle
( tidak peduli apa artinya ECB).Seperti kata Geoff, apa yang dikatakan Crockford itu baik.
Satu-satunya pengecualian yang saya ikuti (dan telah banyak digunakan) adalah menggunakan $ varname untuk menunjukkan objek jQuery (atau perpustakaan apa pun). Misalnya
var footer = document.getElementById('footer');
var $footer = $('#footer');
sumber
Anda dapat mengikuti Panduan Gaya Google JavaScript ini
Secara umum, gunakan functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis, dan SYMBOLIC_CONSTANTS_LIKE_THIS.
EDIT: Lihat koleksi bagus Panduan Gaya dan Penampil JavaScript .
sumber
_fooBar
mereka melakukannyafooBar_
- Microsoft melakukannya dengan benar: asp.net/ajaxlibrary/act_contribute_codingStandards.ashx_
saat referensi vars pribadi akan menghasilkan intellisense segera membatasi hasil; pada akhirnya berpikir itu adalah preferensi pribadi.Satu konvensi yang ingin saya coba adalah memberi nama modul statis dengan awalan 'the'. Lihat ini. Ketika saya menggunakan modul orang lain, tidak mudah untuk melihat bagaimana saya seharusnya menggunakannya. misalnya:
Saya sedang berpikir tentang mencoba konvensi di mana modul statis menggunakan 'the' untuk menunjukkan keberadaan mereka sebelumnya. Adakah yang melihat cara yang lebih baik dari ini? Akan terlihat seperti ini:
sumber
Saya pikir selain beberapa batasan sintaksis; alasan penamaan konvensi sangat banyak bahasa independen. Maksud saya, argumen yang mendukung c_style_functions dan JavaLikeCamelCase juga bisa digunakan dengan cara yang berlawanan, hanya saja pengguna bahasa cenderung mengikuti penulis bahasa.
karena itu, saya pikir sebagian besar perpustakaan cenderung mengikuti penyederhanaan CamelCase Java. Saya menemukan nasihat Douglas Crockford cukup enak bagi saya.
sumber
Itu pertanyaan individual yang bisa bergantung pada cara Anda bekerja. Beberapa orang suka meletakkan tipe variabel di awal variabel, seperti "str_message". Dan beberapa orang suka menggunakan garis bawah di antara kata-kata mereka ("my_message") sementara yang lain suka memisahkannya dengan huruf besar ("myMessage").
Saya sering bekerja dengan pustaka JavaScript besar dengan orang lain, jadi fungsi dan variabel (kecuali variabel pribadi di dalam fungsi) harus mulai dengan nama layanan untuk menghindari konflik, seperti "guestbook_message".
Singkatnya: menurut saya, bahasa Inggris, huruf yang lebih rendah, variabel yang terorganisir dengan baik dan fungsi lebih baik. Nama-nama harus menggambarkan keberadaan mereka daripada pendek.
sumber