Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add lombok dependency + start refactoring components #394

Open
wants to merge 1 commit into
base: desarrollo-v0.2.0
Choose a base branch
from

Conversation

matisandacz
Copy link
Contributor

@matisandacz matisandacz commented Apr 18, 2022

#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.

@cpbeto cpbeto added refactor Code refactoring. Major changes. to be discussed This issue needs to be discussed before moving forward WIP Work in progress labels Apr 18, 2022
@cpbeto cpbeto linked an issue Apr 18, 2022 that may be closed by this pull request
@cpbeto cpbeto changed the title Add lombok dependency + start refactoring components WIP: Add lombok dependency + start refactoring components Apr 18, 2022
@cpbeto
Copy link
Contributor

cpbeto commented Apr 18, 2022

¡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. 👍

@matisandacz
Copy link
Contributor Author

matisandacz commented Apr 18, 2022

¡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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor Code refactoring. Major changes. to be discussed This issue needs to be discussed before moving forward WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor de todos los componentes para usar anotaciones Lombok.
2 participants