si tuviera una propiedad booleana, ¿ shouldAutoLogines mejor nombrar al captador getShouldAutoLogino simplemente shouldAutoLoginpara que se lea más como inglés?
ex:
if(shouldAutoLogin){
...
}
o
if(getShouldAutoLogin){
...
}
readability
clean-code
Mike Bryant
fuente
fuente

${foo.something}se traduzcafoo.getSomething()entre bastidores.isFoo()lugar degetFoo(). En su ejemplo, eso seríaisAutoLogin()if()él, es poco probable que sea Java.Respuestas:
La convención de nomenclatura para getters es normalmente,
getAutoLogin()si obtiene alguna cadena u objeto.isAutoLogin()para booleano.fuente
Tradicionalmente, los captadores tienen el prefijo
getoispara el valor. Esto a menudo se menciona en las guías de estilo java. Por ejemplo, Java Programming Style Guide (este es solo un ejemplo).La convención para tales nombres de métodos se aplica ocasionalmente en herramientas que usan reflexión o esperan ciertos estilos de código. Por ejemplo, nuevamente en Java (aunque el lenguaje de expresión de JSP),
${foo.bar}se traducirá a la llamadafoo.getBar()cuando se compile el jsp. ElgetValue()se aplica de esta manera para que se convierta en algo más que una simple convención.Como se mencionó, los ejemplos anteriores son de Java. Esta es una convención para Java . Otros idiomas tienen otras convenciones que deberían ser consideradas y probablemente seguidas también. Algunos idiomas usan propiedades (y pueden hacer otras cosas interesantes con ellos, como copiar a pedido o solo lectura).
Consulte las guías de estilo para su idioma particular. Probablemente sea una buena idea seguirlos cuando sea posible para que otros codificadores, cuando lean su código, puedan acceder al código más rápidamente sin tratar de descubrir su estilo personal.
fuente
Nombrar un método de una manera hábilmente legible tiene ventajas. Nombrar métodos para que su intención y naturaleza sean fáciles de derivar del nombre ("los captadores tienen prefijo
get, predicados booleanosis") también tiene ventajas.Depende de usted lograr un equilibrio, pero en un gran proyecto los beneficios de la consistencia generalmente superan a los de la inteligencia accidental.
Renombrar un método para hacer que el nombre sea legible y conforme a la convención es un buen ejercicio diario. En su caso particular, consideraría algo como
isAutoLoginEnabledogetAutoLoginFlag.OTOH, usted tiene un montón de métodos conceptualmente similares que todos pueden seguir el patrón
shouldDoSomething, su nombre original también puede estar bien.fuente
Siempre encuentro que el código debe ser tan legible como sea posible. Ayuda a definir claramente las intenciones del código. En su caso, piense cuáles son los usos positivos y negativos de su valor booleano y cómo afectaría la legibilidad y las intenciones de su lógica.
versus
¿Qué da un significado más claro a la intención de lo que el código está tratando de hacer?
Como otros han sugerido, incluso cambiaría el nombre de la variable a
o similar
fuente
Tiendo a escribir
getAutoLogincuando quiero el método parareturnun tipo de datos, como aninto aString. Sin embargo, si quiero verificar si estrueofalse(boolean), simplemente cambio elgeta unissiguiente:getAutoLogin>isAutoLogin. Creo que hay una convención de nombres para cada idioma.fuente