¿Ofrece Project Lombok algún beneficio en comparación con las plantillas de código/generación de código en Eclipse? ¿Hay algún inconveniente (aparte de incluir el .jar) ?.Proyecto Lombok vs. Eclipse plantillas/generación de código
Respuesta
Una ventaja de Lombok es que una vez que ha anotado una clase con, por ejemplo, la anotación @Data, nunca necesita regenerar el código cuando realiza cambios. Por ejemplo, si agrega un nuevo campo, @Data incluiría automáticamente ese campo en los métodos equals, hashCode y toString. Tendrá que hacer ese cambio manualmente cuando use los métodos generados por Eclipse. Algunas veces, es posible que prefiera el control manual pero, en la mayoría de los casos, espero que no.
Muy pocos vienen a la mente:
- que se basa en la anotación, por lo que no es bueno para el proyecto legado todavía en pre-Java5 (delombok puede ayudar). En realidad, requiere usar el compilador javac v1.6.
- todavía tienen limitaciones regarding multiple constructors
La cuestión de la dependencia no debe pasarse por alto, sin embargo, pero se han excluido de su pregunta.
La ventaja de Lombok es que el código no está realmente allí, es decir, las clases son mucho más legibles y no están desordenadas.
Si el código no está allí, ¿cómo se compila en eclipse? – javaguy
@javaguy - se conecta al compilador, por lo que recuerdo. – Bozho
@javaguy El código está 'allí' en el archivo .class (generado por lombok), 'no está allí' como texto en su archivo .java, eliminando así gran cantidad de placa de caldera y desorden. – Ivin
Ventajas:
- muy fácil de usar
clases son mucho más limpia ('sin código repetitivo'), especialmente 'struct'-como las clases internas reducir al mínimo:
@Data private class AttrValue { private String attribute; private MyType value; }
Esto creará getters y setters, un toString() y métodos hash()/equals() correctos que incluyen ambas variables. La variante con
@Value
crea una estructura inmutable (sin setters, todos los campos son definitivos).- No hay necesidad de generar/eliminar código cuando cambia campos (captadores, setters, toString, hachís, es igual)
- hay interferencia con los métodos de codificación manual: sólo tiene que añadir es el propietario colocador específica a la clase cuando sea necesario.Lombok salta esto y genera todo lo demás
Desventajas:
- Sin nombre refactorización, sin embargo: el cambio de nombre
value
anterior no (todavía) renombrargetValue()
ysetValue()
- mayo ralentiza ecplise ligeramente
toString
salida no tan agradable como, por ejemplo, ToStringBuilder de apache commons
Eclipse EMF ofrece algunas características que son muy práctico, que Lombock todavía no soporta:
- potentes mechanims de notificación para informarse acerca de los cambios en las instancias
- API genérica sin java reflexión. Acceda y modifique instancias sin una referencia fuerte al tipo
- Edición basada en comandos y API
- Referencias cruzadas entre modelos: Cree y cargue árboles de modelos y EMF maneje la carga mediante la creación de un proxy para la referencia cruzada. Esto ahorra memoria y el rendimiento impulso en enormes árboles de dominio
- Y mucho más ...
- 1. ¿El Proyecto Lombok funciona bien con Scala?
- 2. ¿Alguien ha usado Ant4Eclipse con el Proyecto Lombok?
- 3. proyecto Java vs Maven Proyecto (Eclipse), dir aclaración estructura necesaria
- 4. Maven "Módulo" vs "Proyecto" (Eclipse, plugin m2eclipse)
- 5. Maven Groovy y Java + Lombok
- 6. anotaciones Lombok vs cobertura de código de Cobertura o una herramienta similar
- 7. ¿El proyecto Lombok es adecuado para grandes proyectos de Java?
- 8. ¿Cuáles son los riesgos con el Proyecto Lombok?
- 9. Lombok con Play 2
- 10. Error al compilar el proyecto mixto Java/Scala y Lombok
- 11. ¿Constructor explícito usando Lombok?
- 12. Lombok con hibernación
- 13. Uso de Lombok del tipo 'val' en IntelliJ
- 14. Aptana Studio vs. Eclipse
- 15. ambiente facetadas Proyecto Eclipse
- 16. Complementos de Eclipse vs características vs dropin
- 17. Eclipse RCP: plataforma de destino - Eclipse vs. Equinox?
- 18. Cómo vincular proyecto en eclipse
- 19. ¿Cómo funciona el proyecto Lombok en Java y eso es posible en .NET usando atributos?
- 20. Netbeans RCP vs Eclipse RCP
- 21. depurar proyecto de archivo en eclipse
- 22. Eclipse Proyecto de complemento con otras dependencias de proyecto
- 23. abrir proyecto existente de Java en eclipse
- 24. Aptana Studio vs. Eclipse + Aptana
- 25. eclipse: explícitamente guardando proyecto/área de trabajo
- 26. JavaDoc en un proyecto de Android Eclipse
- 27. Eclipse "Compartir proyecto" a mano?
- 28. Eclipse desaparecidos ya importó proyecto
- 29. Eclipse: atajo para "proyecto abierto"?
- 30. ¿Convertir proyecto existente en proyecto de Android en Eclipse?
En la actualidad, la única necesidad de tiempo de ejecución para el frasco es si utiliza @SneakyThrows. Para todas las otras funciones, solo necesita el jar en tiempo de compilación. –
Se parece mucho a SpringRoo pero es mucho más simple. –