Devo sempre usar "is" como prefixo para variáveis ​​booleanas? [fechadas]

50

Devo sempre usar iscomo prefixo para variáveis ​​booleanas? E os booleanos que indicam algo no passado? Devo escrever isInitializedou wasInitialized? Devo escrever para propriedades IsManyMembersou HasManyMembers?

Existe alguma prática recomendada? Ou devo escrever de acordo com as regras em inglês?

Mark Twain
fonte

Respostas:

54

Na verdade, não, pois os booleanos nem sempre são usados ​​para indicar que um objeto "é" algo.

"has" é um prefixo igualmente válido "was", "can" também são válidos em circunstâncias particulares, também, vi o sufixo "Capaz" usado.

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

Tudo depende do que torna o programa legível.

James Anderson
fonte
37
Eu acho que escolheria canBeEaten ou isEdible sobre eatAble.
kzh
3
@kzh - isEdible é bom! Não tenho tanta certeza sobre o canBeEaten como é algo que acontece com o objeto e não algo que ele pode fazer. Picky Picky eu sei :-).
James Anderson
1
Que tal um sinalizador para indicar se algo é permitido ou não? "AllowsExtensions" está claro? Ou seria "DoesAllowExtensions" seria mais claro, embora mais longo?
Reversed Engineer
1
se você usar -able como sufixo, eu não usaria letras maiúsculas como não é uma palavra. por exemplo, wearable em vez de wearAble
jk.
2
@ kzh: Eu li inicialmente eatAblecomo "é capaz de comer" em vez de "é capaz de ser comido". Em suma, é ambíguo e seria de fato evitado.
Flater
8

Eu seguia as regras em inglês. Costumo pensar no próximo codificador que considerará o seu trabalho um maníaco que maneja um machado que virá atrás de mim se o código for difícil de entender. Quando lembro isso, a melhor opção para minha saúde é manter o código limpo e fácil de ler, o que significa o melhor inglês e idioma de domínio possível.

Klee
fonte
3
"Se o bacalhau é muito difícil de entender" furando com o tema peixe / gato da outra resposta que eu vejo
scottyseus