se eu tivesse uma propriedade booleana, shouldAutoLogin
é melhor nomear o getter getShouldAutoLogin
ou apenas shouldAutoLogin
para que fique mais parecido com o inglês?
ex:
if(shouldAutoLogin){
...
}
ou
if(getShouldAutoLogin){
...
}
readability
clean-code
Mike Bryant
fonte
fonte
${foo.something}
seja traduzido parafoo.getSomething()
os bastidores.isFoo()
vez degetFoo()
. No seu exemplo, isso seriaisAutoLogin()
if()
que é improvável que isso é Java.Respostas:
A convenção de nomenclatura para getters é normalmente,
getAutoLogin()
se estiver recebendo alguma string ou objeto.isAutoLogin()
para booleano.fonte
Tradicionalmente, os getters são prefixados com
get
ouis
para o valor. Isso é frequentemente mencionado nos guias de estilo java. Por exemplo, o Java Programming Style Guide (este é apenas um exemplo).A convenção para esses nomes de métodos é ocasionalmente aplicada em ferramentas que usam reflexão ou esperam determinados estilos de código. Por exemplo, novamente em Java (apesar da Expression Language do JSP),
${foo.bar}
será traduzido para a chamadafoo.getBar()
quando o jsp for compilado. OgetValue()
é aplicado dessa maneira para que se torne mais do que apenas uma convenção.Como mencionado, os exemplos acima são de Java. Esta é uma convenção para Java . Outros idiomas têm outras convenções que devem ser analisadas e provavelmente seguidas também. Alguns idiomas usam propriedades (e podem fazer outras coisas legais com eles, como copiar a pedido ou somente leitura).
Examine os guias de estilo para sua escolha de idioma específico. Provavelmente, é uma boa idéia segui-los sempre que possível, para que outros codificadores, ao ler seu código, possam entrar mais rapidamente no código sem tentar descobrir seu estilo pessoal.
fonte
Nomear um método de uma maneira inteligível e legível tem vantagens. Nomear métodos para que sua intenção e natureza sejam fáceis de derivar do nome ("getters têm prefixo
get
, predicados booleanosis
") também possui vantagens.Cabe a você encontrar um equilíbrio, mas em um grande projeto os benefícios da consistência geralmente superam os da esperteza acidental.
Renomear um método para tornar o nome legível e conforme a convenção é um bom exercício diário. No seu caso particular, eu consideraria algo como
isAutoLoginEnabled
ougetAutoLoginFlag
.OTOH, você tem vários métodos conceitualmente semelhantes, dos quais todos podem seguir o padrão
shouldDoSomething
; seu nome original também pode ser bom.fonte
Eu sempre acho que o código deve ser o mais legível possível. Ajuda a definir claramente as intenções do código. No seu caso, pense sobre quais seriam os usos positivos e negativos do seu booleano e como isso afetaria a legibilidade e as intenções de sua lógica.
versus
O que dá um significado mais claro à intenção do que o código está tentando fazer?
Como outros sugeriram, eu até renomearia a variável para
ou similar
fonte
Costumo escrever
getAutoLogin
quando quero o método parareturn
um tipo de dados, como umint
ou umString
. No entanto, se eu quiser verificar se étrue
oufalse
(boolean
), simplesmente troqueiget
para umis
como este:getAutoLogin
>isAutoLogin
. Acredito que exista uma convenção de nomenclatura para cada idioma.fonte