Dovrei sempre usare "is" come prefisso per le variabili booleane? [chiuso]


50

Dovrei sempre usare iscome prefisso per le variabili booleane? Che dire dei booleani che indicano qualcosa in passato? Dovrei scrivere isInitializedo wasInitialized? Dovrei scrivere per proprietà IsManyMemberso HasManyMembers?

Esistono buone pratiche? O dovrei semplicemente scrivere secondo le regole inglesi?



Risposte:


54

Non proprio, poiché i booleani non sono sempre usati per indicare che un oggetto "è" qualcosa.

"has" è un prefisso ugualmente valido "was", "can" sono validi anche in circostanze particolari, inoltre, ho visto il suffisso "In grado" utilizzato.

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

Tutto dipende da ciò che rende il programma leggibile.


37
Penso che sceglierei canBeEaten o isEdible piuttosto che eatAble.
KZH

3
@kzh - isEdible è buono! Non sono così sicuro di canBeEaten come qualcosa che accade all'oggetto piuttosto che qualcosa che l'oggetto può fare. Picky Picky lo so :-).
James Anderson,

1
Che dire di una bandiera per indicare se qualcosa è permesso o no? "AllowsExtensions" è chiaro? O "AllowExtensions" sarebbe più chiaro, anche se più a lungo?
Ingegnere invertito

1
se usi -able come suffisso non lo capitalizzerei perché non è una parola. es. indossabile anziché wearAble
jk.

2
@kzh: inizialmente ho letto eatAblecome "è in grado di mangiare" piuttosto che "è in grado di essere mangiato". Tutto sommato, è ambiguo e sarebbe davvero meglio evitarlo.
Flater,

8

Andrei con le regole inglesi. Tendo a pensare al prossimo programmatore che vedrà il tuo lavoro come un'ascia che maneggia maniaco che verrà dopo di me se il codice è difficile da capire. Quando lo tengo presente, l'opzione migliore per la mia salute è mantenere il codice pulito e di facile lettura, il che significa la migliore lingua inglese e di dominio possibile.


3
"se il merluzzo è troppo difficile da capire" attenendosi al tema pesce / gatto dell'altra risposta che vedo
scottyseus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.