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.