tipos pseudoternaria potencia multinivel linea hdb3 espectral densidad codigos codigo codificacion bipolar java coding-style conventions line-breaks

java - pseudoternaria - densidad espectral de potencia codigos de linea



Codificación de línea de código-cómo manejar líneas largas (5)

Estoy frente a una línea particular que tiene 153 caracteres de longitud. Ahora, tiendo a romper cosas después de 120 caracteres (por supuesto, esto depende en gran medida de dónde estoy y de las convenciones locales). Pero, para ser honesto, en todos los lugares en que rompo la línea solo se ve mal. Así que estoy buscando algunas ideas sobre lo que debería hacer por ello.

Aquí está la línea:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();

Estoy abierto a las dos ideas sobre cómo / dónde romper la línea (y por qué), así como las formas de acortar la línea en sí.

No somos una tienda de Java, y no hay convenciones locales para este tipo de cosas, o, obviamente, simplemente las seguiría.

¡Gracias!


Así es como lo hago, y Google hace a mi manera.

  • Rompe antes del símbolo para operadores sin asignación .
  • Rompe después del símbolo para = y para,.

En su caso, ya que está usando 120 caracteres, puede romperlo después de que el operador de la asignación resulte en

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();

En Java, y para este caso en particular, daría dos pestañas (u ocho espacios) después de la pausa, dependiendo de si las pestañas o los espacios se usan para la sangría.

Esto es, por supuesto, una preferencia personal y si su proyecto tiene su propia convención para el ajuste de líneas, eso es lo que debe seguir, le guste o no.


Creo que mover el último operador al comienzo de la siguiente línea es una buena práctica. De esa manera, sabrá de inmediato el propósito de la segunda línea, incluso si no comienza con un operador. También recomiendo 2 espacios de sangría (2 pestañas) para una pestaña previamente rota, para diferenciarla de la sangría normal. Eso es inmediatamente visible como continuación de la línea anterior. Por lo tanto sugiero esto:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();


En general, interrumpo las líneas antes de los operadores, y sangro las líneas siguientes:

Map<long parameterization> longMap = new HashMap<ditto>(); String longString = "some long text" + " some more long text";

Para mí, el operador líder claramente expresa que "esta línea se continuó desde otra cosa, no se sostiene por sí sola". Otras personas, por supuesto, tienen diferentes preferencias.


En mi humilde opinión esta es la mejor manera de escribir tu línea:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();

De esta manera, el aumento de sangrado sin llaves puede ayudarlo a ver que el código se dividió simplemente porque la línea era demasiado larga. Y en lugar de 4 espacios, 8 lo hará más claro.


Utiliza los métodos de fábrica estáticos de Guava para Mapas y solo tiene 105 caracteres.

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = Maps.newHashMap();