Haruskah saya selalu menggunakan "is" sebagai awalan untuk variabel boolean? [Tutup]

50

Haruskah saya selalu menggunakan isawalan untuk variabel boolean? Bagaimana dengan boolean yang menunjukkan sesuatu di masa lalu? Haruskah saya menulis isInitializedatau wasInitialized? Haruskah saya menulis untuk properti IsManyMembersatau HasManyMembers?

Apakah ada praktik terbaik? Atau saya harus menulis sesuai dengan aturan bahasa Inggris?

Mark Twain
sumber

Jawaban:

54

Tidak juga, karena boolean tidak selalu digunakan untuk menunjukkan bahwa suatu objek "adalah" sesuatu.

"memiliki" adalah awalan yang sama-sama valid "adalah", "bisa" juga berlaku dalam keadaan tertentu, juga, saya telah melihat akhiran "Mampu" digunakan.

So Object herring:-
 isFish = true
 isCat = false
 hasScales = true
 hasFur = false
 canSwim = true
 wasEgg = true
 eatAble = true

Object moggy:-
 isFish = false
 isCat = true
 hasScales = false
 hasFur = true
 canSwim = false
 wasEgg = false
 eatAble = false

Itu semua tergantung pada apa yang membuat program dapat dibaca.

James Anderson
sumber
37
Saya pikir saya akan memilih canBeEaten atau IsEdible daripada eatAble.
kzh
3
@kzh - isEdible baik! Tidak begitu yakin tentang canBeEaten sebagai sesuatu yang terjadi pada objek daripada sesuatu yang dapat dilakukan objek. Pilih-pilih Pilih-pilih saya tahu :-).
James Anderson
1
Bagaimana dengan bendera yang menunjukkan apakah sesuatu diizinkan atau tidak? Apakah "AllowsExtensions" jelas? Atau "Apakah AllowExtensions" menjadi lebih jelas, meskipun lebih lama?
Insinyur Terbalik
1
jika Anda menggunakan -able sebagai sufiks saya tidak akan menjadikannya sebagai kata. misalnya dpt dipakai daripada wearAble
jk.
2
@ kzh: Saya awalnya membaca eatAble"bisa makan" daripada "bisa dimakan". Secara keseluruhan, ini ambigu dan memang akan lebih baik dihindari.
Flater
8

Saya akan pergi dengan aturan bahasa Inggris. Saya cenderung berpikir tentang pembuat kode berikutnya yang akan melihat pekerjaan Anda sebagai maniak yang menggunakan kapak yang akan mengejarku jika kodenya sulit dimengerti. Ketika saya mengingat hal ini, pilihan terbaik untuk kesehatan saya adalah menjaga kode tetap bersih dan mudah dibaca, yang berarti bahasa Inggris dan bahasa domain terbaik.

Klee
sumber
3
"Jika cod terlalu sulit untuk dipahami" bertahan dengan tema ikan / kucing dari jawaban lain yang saya lihat
scottyseus