Devrais-je toujours utiliser «is» comme préfixe pour les variables booléennes? [fermé]

50

Devrais-je toujours utiliser iscomme préfixe pour les variables booléennes? Qu'en est-il des booléens qui indiquent quelque chose dans le passé? Dois-je écrire isInitializedou wasInitialized? Devrais-je écrire pour les propriétés IsManyMembersou HasManyMembers?

Y a-t-il des meilleures pratiques? Ou je devrais juste écrire conformément aux règles anglaises?

Mark Twain
la source

Réponses:

54

Pas vraiment, car les booléens ne sont pas toujours utilisés pour indiquer qu'un objet "est" quelque chose.

"a" est un préfixe tout aussi valide "was", "peut" sont également valables dans des circonstances particulières. J'ai également vu le suffixe "Able" utilisé.

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

Tout dépend de ce qui rend le programme lisible.

James Anderson
la source
37
Je pense que je choisirais de manger ou de manger plutôt que de manger.
kzh
3
@kzh - isEdible, c'est bien! Pas si sûr de canBeEaten car c'est quelque chose qui arrive à l'objet plutôt que quelque chose que l'objet peut faire. Picky Picky je sais :-).
James Anderson
1
Qu'en est-il d'un drapeau pour indiquer si quelque chose est autorisé ou non? "AllowsExtensions" est-il clair? Ou "DoesAllowExtensions" serait-il plus clair, même plus long?
Ingénieur inversé
1
si vous utilisez -able comme suffixe, je ne le mettrais pas en majuscule, car ce n’est pas un mot. par exemple portable plutôt que wearAble
jk.
2
@kzh: Au départ, je lisais eatAble"est capable de manger" plutôt que "est capable de manger". Dans l’ensemble, c’est ambigu et il vaudrait mieux l’éviter.
Flater
8

J'irais avec les règles anglaises. J'ai tendance à penser au prochain codeur qui verra dans votre travail un maniaque maniaque qui viendra après moi si le code est difficile à comprendre. Lorsque je garde cela à l'esprit, la meilleure option pour ma santé est de garder le code propre et facile à lire, ce qui signifie le meilleur anglais et la meilleure langue de domaine possible.

Klee
la source
3
"si la morue est trop difficile à comprendre" s'en tenir au thème poisson / chat de l'autre réponse que je vois
scottyseus