Saya mengalami masalah dalam memahami bagaimana menerapkan camelCase sintaks untuk beberapa nama-nama variabel.
Misalnya, bagaimana saya harus benar menulis kata seperti "phonenumber" dalam kasus unta? Itu phoneNumber
atau phonenumber
? Demikian pula dengan "username", bukan username
atau userName
?
Saya pikir itu doesn't melihat langsung dengan unta kasus seperti sepeda motor
, passWord
, minggu
, setUp
atau gelombang
karena ini adalah hanya satu kata masing-masing. Saya pikir itu mungkin sebabnya mengapa itu's disebut hashMap
tapi juga hashtable
dalam kasus unta tanpa modal di kasus terakhir karena hashtable adalah satu kata sedangkan peta hash adalah dua kata.
Tapi jika sepeda motor memiliki warna maka hal itu akan menjadi motorcycleColor
karena kata ini digabungkan? Apakah itu benar atau harus itu phoneNUmber
, gelombang
, tabir surya
dan bahkan minggu
untuk minggu minggu ini?
Mengapa misalnya adalah metode yang disebut getISOCountries
sementara itu kata HttpHeaders
misalnya itu's tidak jelas apa yang menjadi huruf kecil jika kita memiliki metode seperti String camelCaseString = anjing.toCamelCase()
atau antarmuka CamelCase
.
Anda harus memanfaatkan surat setelah mana ada "normal" menjadi ruang (ketika anda akan menulis surat bukan source). Pertama asumsi ini benar:
sepeda motor
, bukan sepeda motor
.hashMap
, bukan hashmap
.minggu
, bukan minggu
.hari
, bukan hari
.Bagian 1 Saya pikir apa yang's tersandung anda adalah bahwa beberapa dari anda contoh kata majemuk, sedangkan yang lain tidak.
Kata majemuk tidak mengikuti unta kasus notasi untuk kedua kata dalam kata majemuk.
Jadi itu's sepeda motor
dan tidak sepeda motor
.
Tapi "nomor telepon" bukan kata majemuk dan would mengikuti unta kasus notasi. yaitu phoneNumber
.
Dan yang mengarah ke: motorcycleColor
.
Jika aku bisa't ingat jika kata ini adalah kata majemuk atau tidak, saya mencarinya di kamus untuk menjadi tertentu.
Part 2 Dua contoh yang sedikit rumit.
Mereka're rumit karena beberapa akan mengeja mereka sebagai "hashmap" dan "hashtable". Menurut kamus saya hanya diperiksa, mereka adalah kata-kata yang terpisah dan bukan kata majemuk. Jadi yang benar unta kasus akan hashMap
dan hashTable
. Tidak setiap tim yang mengikuti konvensi tersebut, sehingga anda perlu bertanya pada rekan kerja anda apa yang mereka sukai dan kemudian tetap dengan itu. Konsistensi adalah lebih penting dalam hal ini dari apa dictionary dapat katakan adalah benar.
* Beberapa akan berpendapat tentang minggu menjadi kata majemuk sejak hari-hari lainnya tidak, tapi untuk tujuan ini pertanyaan saya'll menghindari masalah itu. It's termudah untuk mengobati sebagai kata majemuk dan karena itu tidak ada unta kasus.
Seperti orang lain telah menunjukkan, unta kasus ini digunakan ketika bergabung dengan kata-kata. Jangan menggunakan unta kasus dalam satu kata dalam bahasa inggris. Masalah datang dalam menentukan senyawa adalah kata-kata tunggal. Tersisa untuk diri mereka sendiri, programmer akan datang untuk keputusan yang berbeda tergantung pada pengetahuan mereka tentang bahasa inggris. Hal ini menyebabkan inkonsistensi dalam kapitalisasi, yang hampir mengganggu seperti salah eja.
Untuk mencegah hal ini, programmer harus menggunakan referensi standar (misalnya dictionary.com) ketika mereka tidak yakin tentang ejaan atau kapitalisasi. Meski begitu, jika konsistensi dalam penamaan ini penting untuk proyek anda, tidak ada pengganti untuk code review.
Memetik satu acuan untuk proyek anda akan menyelesaikan sebagian besar argumen tentang kapitalisasi dan ejaan. Ada beberapa senyawa seperti Hashtable yang tidak ada dalam kamus, tetapi dikapitalisasi sebagai kata-kata tunggal di Java dan C# Api. Anda akan ingin untuk membuat proyek-lebar keputusan tentang mereka. Di Jawa, it's "HashMap" tapi "Hashtable". IMO "Hashtable" ini jelas tidak benar, itu tidak pernah muncul sebagai satu kata, kecuali sebagai nama dalam API.
Cara paling sederhana untuk melakukan unta kasus adalah pada kata delineasi.
Contoh dari pertanyaan anda:
Jika anda tidak't dibagi menjadi dua kata, anda juga harus't menggunakan unta kasus itu. Jika tidak, anda're menggunakannya pada suku kata dan cara konyol apa ini terlihat
Ini adalah di mana komplikasi dengan bahasa inggris mendapat di jalan dari bagaimana seseorang kemudian pelanggaran inggris untuk menyesuaikan dengan white-space aturan token dalam konteks pemrograman.
Contoh kata-kata yang anda berikan, hampir semua senyawa. Minggu isn't, karena saat itu berasal dari suatu senyawa, itu tidak begitu lama lalu bahwa hal itu hampir tidak dapat dianggap sebagai salah satu sekarang, terutama sebagai makhluk yang didedikasikan untuk matahari lebih banyak yang ingin tahu sejarah dari bagian yang kuat dari agama dan budaya outlook dari orang berbahasa inggris.
Dan di inggris, tiga cara utama untuk menulis sebuah senyawa yang terbuka (ruang antara dua kata), ditulis dgn tanda penghubung, dan tertutup (tanpa spasi atau tanda hubung antara dua). Dan sementara ada beberapa aturan tentang jika kau menggunakan tanda hubung terbuka senyawa dalam situasi tertentu, ada isn't benar-benar banyak di jalan dari aturan tegas untuk mengetahui apa bentuk ini digunakan untuk suatu senyawa yang luar melihat apa yang orang lain lakukan, dan masih ada saat-saat ketika anda'll menemukan dua atau bahkan tiga bentuk (eggbeater, pengocok telur- dan pengocok telur misalnya).
Di sini, nomor telepon hampir selalu ditulis terbuka, jadi harus diperlakukan sebagai dua kata.
Dan ketika inter-capping untuk membentuk sebuah token, spasi atau tanda hubung dihapus dan kedua dan selanjutnya kata-kata tertulis di judul-kasus ini, maka phoneNumber
atau PhoneNumber
yang sesuai untuk anda konvensi.
Hal yang membuat phoneNumber
aneh mungkin adalah bahwa hal itu's lebih sering hanya diberikan sebagai ponsel
di sebagian besar konteks, atau sebagai nomor
ketika konteksnya adalah tentang lewat telepon sambungan.
Memastikan konsistensi dalam file kode.
Mempromosikan konsistensi dalam kode proyek.
Sukai konsistensi dalam kode perpustakaan.
Peracikan kata-kata untuk mewakili konsep-konsep perubahan seperti yang kita menjadi lebih akrab dengan diberikan aglutinasi.
Untuk contoh...
Perhatikan bahwa StackExchange spell-checker dapat't make up nya pikiran. 'Phonenumber' di akhir kalimat di atas baik-baik saja tapi itu bendera yang ada di awal kalimat (dikapitalisasi atau tidak).
Sebanyak kebanyakan orang ada keinginan untuk menjadi "salah satu cara yang tepat" untuk melakukan hal-hal, ketika datang untuk bahasa, yang tidak akan pernah bisa. Pada saat anda menyelesaikan proyek anda, penggunaan mungkin akan berubah. Tentu saja pemahaman anda akan berubah dan fungsi metode/et.al. mungkin akan berubah juga. (Dalam hal ini, anda mungkin harus mengubah nama dengan tepat.)
Dari yang benar-benar teknis (AS) perspektif, dimana xxx-yyy-zzzz adalah apa yang anda'd biasanya berpikir sebagai "nomor telepon' xxx part benar disebut sebagai area code, yyy adalah benar disebut sebagai pertukaran, dan zzzz benar disebut sebagai nomor.
Karena tidak hanya "phonenumber" bukan kata majemuk (belum), tapi jika itu menjadi satu, itu akan salah referensi sesuatu di luar dari penciptanya's maksud, saya akan mengatakan bahwa camelCase sintaks akan memerlukan phoneNumber untuk setiap variabel yang merujuk hal itu, tetapi jika anda'kembali akan melakukan apa-apa dengan sebenarnya sistem telepon, aku'd gunakan phoneExchangeNumber untuk tujuh digit dan phoneACExchangeNumber untuk sepuluh digit versi.