Formato de código

Agrupación de acuerdo al scope

Para mejorar la lectura de bloques de código, variable y métodos seguiremos el siguiente orden de acuerdo a los tipos:

 

  • imports estáticos

  • imports

  • Bloque estático

  • Variables estáticas

  • Bloque de instancia

  • Variables de instancia

  • Métodos estáticos

  • Métodos de instancia

Monad Style

Con el paso del tiempo la programación funcional a ido creciendo y su popularidad se ha extendido hasta lenguajes como Java. A partir de la versión 8 con el ingreso de las interfaces funcionales y con esto las lambdas así como los streams inició una serie de cambios enfocados a programación funcional.

Anteriormente para recorrer un listado de números o cadenas con cierta validación teníamos lo siguiente:

List<Integer> numeros = List.of(1,4,23,6,78,2,5,9,20);     for(Integer num : numeros){         if(num>10){             System.out.println(num);         }     }

y ahora podemos usar:

numeros.stream().filter(n -> n>10).forEach(n -> System.out.println(n));

funcionalmente realiza lo mismo, pero al tener el código de esta manera podríamos tener en una sola lineal la solución a todo un problema.

De igual manera en java se ha extendido mucho es el uso de los builders, con lo que antes teníamos:

Persona persona = new Persona();     persona.setNombre("Ivan");     persona.setApellido("Rodriguez");     persona.setEdad(40);

ahora podemos usar algo parecido a:

con lo que también podríamos construir un objeto complejo en una sola línea.

Para poder mejorar la lectura se puede utilizar el estilo monad que en nuestro caso consiste en:

  • Agrega un salto de línea después de:

    • Un (

    • Una ,

    • Un {

    • Un > de una lambda

  • Y antes de:

    • Un .

con lo que tendríamos algo parecido a:

y:

con esto lograremos leer el código mas fácilmente.

Saltos de línea adicionales

Para facilitar la lectura del código también podemos agregar algunos saltos de línea en:

  • Después de paquete de la clase

  • Después de los imports y antes de la definición de la clase

  • Después de la definición de la clase y la siguiente línea de código (variable, constructor, método, etc.)

  • Entre grupos de variables para separar variables de instancia, estaticas, constantes, etc.

  • Entre la ultima variable y el primer método

  • Después de {

  • Después de las variables locales y la siguiente sentencia

  • Antes de un return

  • Entre métodos

No debemos agregar salto de línea:

  • Al final del código de un archivo .java

  • Entre los } finales o entre la ultima declaración de una variable y el } final de la clase

Ejemplo:

Este es un ejemplo, no representa ninguna solución.