Incluso hoy en día veo a menudo guiones bajos en las variables y métodos de Java, un ejemplo son las variables miembro (como "m_count" o "_count"). Por lo que recuerdo, el uso de guiones bajos en estos casos se denomina mal estilo por Sun.
El único lugar donde deben usarse es en las constantes (como en "public final static int IS_OKAY = 1;"), porque las constantes deben estar todas en mayúsculas y no en camel. Aquí, el guión bajo debería hacer que el código sea más legible.
¿Crees que usar guiones bajos en Java es de mal estilo? Si es así (o no), ¿por qué?
fuente
ReadableInterface
- absolutamente redundante. En los IDE modernos, no es necesario especificar el tipo de variable o su rango; colorear y saltar rápidamente hace todo el trabajo por usted. Entonces, en mi opinión, este es un mal estilo ya que escribe caracteres redundantes y obliga a la gente a leerlo / mantenerlo.fuente
snake_case
formulario es más fácil de leer. Especialmente con palabras cortas (1-2 letras), definitivamente diría que este es el caso. En cuanto a "difícil de escribir", escribir una palabra con lotsOfMixedCaseWithinIt tampoco es precisamente conveniente. Yo recomendaría que se trate de a qué estás acostumbrado. En Java, sin embargo, digo "use la forma común" como lo recomienda el JLS / etc. En Ruby / Python / C, use el caso de serpiente. Y así sucesivamente ...Reglas:
fuente
No creo que usar _ o m_ para indicar variables miembro sea malo en Java o en cualquier otro idioma. En mi opinión, mejora la legibilidad de su código porque le permite ver un fragmento e identificar rápidamente todas las variables miembro de los locales.
También puede lograr esto obligando a los usuarios a anteponer las variables de instancia con "esto", pero esto me parece un poco draconiano. De muchas maneras viola DRY porque es una variable de instancia, ¿por qué calificarla dos veces?
Mi estilo personal es usar m_ en lugar de _. La razón es que también existen variables globales y estáticas. La ventaja de m _ / _ es que distingue un ámbito de variables. Por lo tanto, no puede reutilizar _ para global o estático y, en su lugar, elijo g_ y s_ respectivamente.
fuente
El "mal estilo" es muy subjetivo. Si ciertas convenciones funcionan para usted y su equipo, creo que calificará un estilo malo / bueno.
Para responder a su pregunta: utilizo un guión bajo inicial para marcar variables privadas. Lo encuentro claro y puedo escanear el código rápidamente y averiguar qué está pasando.
(Sin embargo, casi nunca uso "esto", excepto para evitar un conflicto de nombres).
fuente
this
bastante libremente para indicar una variable miembro si creo que necesita que se le preste atención. Sin embargo, no soy un fanático de eso.el uso de 'm_' o '_' al principio de una variable facilita la detección de variables miembro en métodos a lo largo de un objeto.
Como beneficio adicional, escribir 'm_' o '_' hará que intellsense los muestre primero;)
fuente
if (itsEmail.equals(email))
private int _my_int; public int myInt;? _my_int? )
-por mucho que me guste el _style de esto y creo que es legible, encuentro que podría decirse que es más problemático de lo que vale, ya que es poco común y es probable que no coincida con nada más en la base de código que estás usando.
-La generación de código automatizada (por ejemplo, los getters, setters de generación de eclipse) no es probable que entienda esto, por lo que tendrá que arreglarlo a mano o limpiar con eclipse lo suficiente para que lo reconozca.
En última instancia, va en contra del resto de las preferencias del mundo (java) y es probable que tenga algunas molestias por eso. Y como han mencionado los carteles anteriores, la coherencia en la base del código supera todos los problemas anteriores.
fuente
Hay una razón por la que el uso de guiones bajos se consideraba de mal estilo en los viejos tiempos. Cuando un compilador en tiempo de ejecución era algo inasequible y los monitores venían con una resolución asombrosa de 320x240 píxeles, a menudo no era fácil diferenciar entre
_name
y__name
.fuente
Es bueno tener algo para distinguir las variables privadas de las públicas, pero no me gusta '_' en la codificación general. Si puedo ayudarlo con un código nuevo, evito su uso.
fuente
Aquí hay un enlace a las recomendaciones de Sun para Java. No es que tengas que usar estos o incluso que el código de su biblioteca los siga todos, pero es un buen comienzo si vas desde cero. Herramientas como Eclipse tienen formateadores integrados y herramientas de limpieza que pueden ayudarlo a cumplir con estas convenciones (u otras que usted defina).
Para mí, '_' es demasiado difícil de escribir :)
fuente
Es una mezcla de estilos de codificación. Una escuela de pensamiento consiste en introducir un guión bajo a los miembros privados para distinguirlos.
setBar( int bar) { _bar = bar; }
en vez de
setBar( int bar) { this.bar = bar; }
Otros usarán guiones bajos para indicar una variable local temporal que saldrá del alcance al final de la llamada al método. (Encuentro esto bastante inútil, un buen método no debería ser tan largo, ¡y la declaración es JUSTO ALLÍ! Así que sé que se sale de alcance) Editar: Dios no permita que un programador de esta escuela y un programador de la escuela memberData colaboren ! Sería un infierno.
A veces, el código generado irá precedido de variables con _ o __. La idea es que ningún humano haría esto, así que es seguro.
fuente
Creo que cualquier estilo que rompa las pautas de estilo de un idioma (sin la debida razón) es feo y, por lo tanto, "malo".
Sin duda, el código que ha visto fue escrito por alguien que solía trabajar en un lenguaje donde los guiones bajos eran aceptables.
Algunas personas simplemente no pueden adaptarse a los nuevos estilos de codificación ...
fuente
La razón por la que la gente lo hace (en mi experiencia) es para diferenciar entre variables miembro y parámetros de función. En Java puedes tener una clase como esta:
public class TestClass { int var1; public void func1(int var1) { System.out.println("Which one is it?: " + var1); } }
Si hiciera la variable miembro _var1 o m_var1, no tendría ambigüedad en la función.
Entonces es un estilo, y no lo llamaría malo.
fuente
Personalmente, creo que un lenguaje no debería establecer reglas sobre el estilo de codificación. Es una cuestión de preferencias, uso, conveniencia, concepto de legibilidad.
Ahora, un proyecto debe establecer reglas de codificación para mantener la coherencia entre los listados. Puede que no estés de acuerdo con estas reglas, pero debes ceñirte a ellas si quieres contribuir (o trabajar en equipo).
Al menos, los IDE como Eclispe son agnósticos, lo que permite establecer reglas como prefijos o sufijos variables, varios estilos de colocación de llaves y administración de espacio, etc. Por lo tanto, puede usarlo para reformatear el código según sus pautas.
Nota: Soy uno de los que mantienen sus viejos hábitos de C / C ++, codificando Java con prefijos m_ para las variables miembro (y s_ para las estáticas), prefijando booleanos con una b inicial, usando una letra mayúscula inicial para los nombres de funciones y alineando llaves. .. ¡El horror de los fundamentalistas de Java! ;-)
Curiosamente, esas son las convenciones que utilizo donde trabajo ... ¡probablemente porque el desarrollador inicial principal proviene del mundo MFC! :-RE
fuente
es solo tu propio estilo, nada de un código de estilo malo y nada de un código de estilo bueno, solo diferencia nuestro código con los demás.
fuente