finisterra icon indicating copy to clipboard operation
finisterra copied to clipboard

WIP: Add lombok dependency + start refactoring components

Open matisandacz opened this issue 2 years ago • 2 comments

#395

  • Agregué la dependencia para Lombok. https://projectlombok.org/ En components y en el Cliente.
  • Refactor de los componentes. Remover todo el boiler plate code (Constructores/Getter/Setters)
  • Cada vez que veamos una variable pública la hacemos privada y la accedemos a través de los Getters. (No romper encapsulamiento).

Si usan IntelliJ, deben instalar el PLUGIN de Lombok.

Todo: Terminar de refactorizar todos los componentes.

matisandacz avatar Apr 18 '22 03:04 matisandacz

¡Muy bueno! Tengo unas dudas...

  • ¿El plugin de IntelliJ es obligatorio? ¿qué función cumple?
  • Evaluemos qué tan maduro/estable es Project Lombok antes de meterlo, que no nos pase lo mismo que Artemis Fluid.
  • Tema performance también habría que evaluar, los componentes están por todos lados.
  • Aún tengo que descargar el branch y probarlo, pero a nivel código se ve bien. :+1:

cpbeto avatar Apr 18 '22 22:04 cpbeto

¡Muy bueno! Tengo unas dudas...

  • ¿El plugin de IntelliJ es obligatorio? ¿qué función cumple?

Técnicamente lo único que se necesita para que ande el programa es la dependencia. El problema es que los IDE no reconocen las anotaciones, y por eso necesitas el plugin. Es una "desventaja" en el sentido de que requiere descargar un plugin, pero por el otro lado trae varias ventajas como sacar miles de líneas de código repetido en todo el proyecto y mejorar la legibilidad. Hay que ver que preferimos.

  • Evaluemos qué tan maduro/estable es Project Lombok antes de meterlo, que no nos pase lo mismo que Artemis Fluid.

Según la pagina oficial el proyecto tiene 13 años. Todos los features que estamos usando (Getters,Setters y Constructores) son parte de lo que ellos llaman "Stable Features" https://projectlombok.org/features/all. Como dato de color, también se usa en producción dentro de empresas grandes.

Si decidimos usarlo y después lo queremos revertir, ofrecen una herramienta que se llama "Delombok" que reemplaza todas las anotaciones Lombok por el código Java original. Estaría bueno ver si existe una herramienta que haga el camino inverso (De plain java -> Lombok annotations).

matisandacz avatar Apr 18 '22 22:04 matisandacz