Misalkan saya perlu menyimpan jumlah objek foo dalam variabel.
Bukan penutur asli bahasa Inggris, saya selalu bertanya-tanya apa nama terbaik (= singkat dan jelas) untuk var itu.
foo_num
? num_foo
? no_foo
? foo_no
? atau sesuatu yang lain?
Nama lengkapnya harus number_of_foos
, tapi agak bertele-tele.
Apa favoritmu dan kenapa?
naming-conventions
Giacomo
sumber
sumber
number_of_foos
di dalamnya menjadi rumit dengan cepat.Jawaban:
Saya mencari
fooCount
karena itu mudah, dan menurut saya kata "hitung" adalah yang terpendek dan terbaik yang menggambarkannya, bukan "jumlah" atau sejenisnya.Saya pergi
FOO_COUNT
jika Anda perlu menyimpannya final dan statis (jika Anda tidak perlu mengubahnya / jika itu adalah konstanta). (huruf besar semua untuk konstanta!)Saya pergi
count
dan menyebutnya denganFoo.count
jika Anda benar-benar harus menyimpannya sebagai atribut untuk kelas yang Anda buat, yaituFoo
.keterbacaan untuk Anda dan tim Anda!
sumber
foosCount
, karena jamak lebih baik mewakili satu set. Dan itu seharusnya menjadi hitungan dari serangkaian hal.gamesIncludedCount
, tetapi bunyi tunggal lebih baik untuk nama lain sepertigameCount
.Karena variabel menyimpan hitungan jumlah objek foo,
fooCount
dapatkan suara saya.sumber
Dalam bahasa Inggris, kata 'number' dan 'count' dapat berfungsi sebagai kata benda atau kata kerja, tetapi mungkin lebih umum melihat 'number' digunakan sebagai kata benda, dan 'count' sebagai kata kerja. Jadi Anda bisa berargumen bahwa 'jumlah foo' atau 'num_foo' terdengar lebih familiar daripada 'jumlah foo' atau 'foo_count'. Jelas terdengar lebih alami bagi saya ketika merujuk pada kuantitas yang tidak terus berubah. Kata 'count', bahkan ketika digunakan sebagai kata benda, menunjukkan kepada saya sebuah nilai yang terus meningkat dari waktu ke waktu.
Ruby dan Python memiliki metode .count, yang mendemonstrasikan kata yang digunakan sebagai kata kerja, bukan sebagai kata benda. Di Ruby Anda mungkin berkata:
Namun, ini mengembalikan nilai yang mewakili jumlah foo, yang persis seperti yang Anda harapkan jika Anda baru saja mereferensikan variabel yang disebut 'foo_count'. Jadi dalam beberapa hal, fakta bahwa 'foos.count' dan 'foo_count' terlihat mirip cukup bagus.
'Angka' dapat menjadi ambigu dalam beberapa kasus, karena menyimpan angka yang tidak mewakili kuantitas sesuatu adalah hal yang umum. Orang lain telah menyebutkan ID dan nomor kartu kredit. Berikut contoh lainnya:
Melihat nama variabel itu, bisakah Anda menebak apa yang diwakilinya? Apakah itu bilangan bulat yang mewakili jumlah string, atau apakah itu representasi string dari sebuah angka?
Jadi saya hanya berpikir keras, dan memberikan beberapa pro dan kontra untuk masing-masing saat saya melihatnya. Alasan saya bahkan di halaman lama ini adalah karena saya menemukan diri saya menggunakan keduanya secara tidak konsisten dan berpikir saya akan melihat apa yang dilakukan orang lain.
BTW, saya tidak suka 'nr_foo', karena 'nr' sama sekali tidak menyarankan atau terdengar seperti kata 'angka' bagi saya. Kedengarannya seperti 'ner', atau mungkin singkatan dari 'not rated' atau 'national rugby'. :-) Dan saya bahkan tidak berani mengatakan seperti apa suara fooCnt. Tidak.
sumber
Kernel Linux menggunakan "nr_foo", yang lebih baik daripada "no_foo" (yang terlihat seperti negasi). Saya sendiri cenderung menggunakan "fooCount" atau "fooCnt", tetapi terkadang juga "numFoo". Saya tidak yakin mengapa saya bimbang antara "fooCount" dan "numFoo". Kira itu tergantung mood saya. Tetapi Anda, Anda harus konsisten (seperti yang seharusnya saya);)
sumber
credit_card_nr
terdengar seperti "nomor kartu kredit", sedangkannr_credit_cards
terdengar seperti "nomor kartu kredit" dan lebih pendek daricredit_cards_count
. Kedengarannya wajar bagi saya (tetapi saya mungkin salah karena saya bukan penutur asli bahasa Inggris).__NR_open
bukan jumlahopen
panggilan sistem - ini adalah indeks dari panggilan sistem, yaitu nilai yang Anda berikan ke instruksi panggilan sistem untuk menentukan panggilan sistem mana yang Anda panggil.fooCnt
karena berpotensi salah menafsirkannya.fooCount
jika variabel tersebut bukan konstanta,FOO_COUNT
jika ya. : Dsumber
Saya pribadi akan memilih
total_foos
atautotalFoos
bergantung pada standar bahasa. Ini menunjukkan lebih baik bahwa nilainya adalah total akhir dan bukan hanya hitungan berjalan.Juga lebih masuk akal untuk mengatakan "Saya memiliki 3 total foo" daripada "Saya memiliki 3 jumlah foo".
Secara keseluruhan, itu bukan masalah besar tapi saya selalu menggunakan
total
lebihcount
!sumber
totalFoos
dapat menyiratkan bahwa itu adalah satu set lengkap Foos (itu terjadi dalam kasus saya, ketika saya mengumpulkan berbagai set). Juga, bagus untuk memiliki pengenal di awal kata, agar mudah dibaca. Jadi saya akan pergi denganfoosCount
, karena kurang ambivalen dan dimulai denganfoo*
. Anda juga bisa mengatakan "Saya memiliki foosCount 3".Kebanyakan
fooCount
seperti yang dikatakan semua orang. Kadang-kadang lebih tepat untuk digunakanfoos
, biasanya ketika Anda tidak benar-benar memiliki daftar foo, atau mereka bukan benda yang terpisah (misalnyaseconds
; untuk pizza yang bisa Anda makanslices
, dll.)Gunakan hanya
foos
jika tidak ada kemungkinan kebingungan - jika jelas Anda tidak akan pernah memiliki daftar foo dalam konteks ini.sumber
foos
kadang-kadang untuk mengartikan "jumlahfoo
objek" dan waktu lain untuk berarti "kumpulanfoo
objek, menurut saya hal itu dapat menimbulkan kebingungan.slices
bagi saya terdengar seperti larikslice
objek, yang merupakan bagian daripizza
objek. Saya akan menggunakansliceCount
, ataunr_slices
, atau apa pun (saya belum memutuskan: D)Saya gunakan untuk kuantitas sesuatu: sesuatuCount ( jumlah_suatu )
Saya gunakan untuk nomor urut sesuatu: sesuatuIndex ( sesuatu_indeks ), karena kata "angka" itu ambigu ( itu berarti kuantitas dan nomor urut )
sumber
Saya akan pergi
fooCount
sumber
Saya cenderung menggunakan fooCount atau serupa.
sumber