java code-generation boilerplate lombok

¿Es el Proyecto Lombok adecuado para grandes proyectos de Java?



code-generation boilerplate (2)

¿Alguien está utilizando el Proyecto Lombok para un sistema de producción a gran escala? ¿Cómo influye en su proceso de compilación (es decir, hace una compilación de dos pasadas, la ralentiza, la hace más frágil)?


Lombok no hace compilación de dos pases. Técnicamente, ''ralentiza'' el proceso de compilación en el sentido de que se ejecuta además de las cosas habituales que se producen cuando compila, pero en comparación con la fase de análisis, la fase inferior y la fase de traducción, lombok apenas se registra.

El principal problema de fragilidad es que editar código lombokified en un editor que NO es (A) tonto (es decir, bloc de notas o visor de diferencias), (B) eclipse, (C) netbeans o (D) obtiene todos sus cerebros al ejecutar javac (por ejemplo, vim con el plugin de Java), va a chupar. Si eso no se aplica, la reducción de boilerplate solo debería hacer que su código sea menos frágil.

DESCARGO DE RESPONSABILIDAD: soy uno de los dos principales desarrolladores de lombok :)


Utilicé Project Lombok mientras desarrollaba una interfaz de Google Web Toolkit (GWT) para aplicaciones Java grandes y Swing UI. Como no usé @SneakyThrows, no requerí lombok.jar en el tiempo de ejecución.

Usando el comportamiento delombok proporciono un proceso de compilación de 2 etapas. Lombok anotó el código java => Java code => Javascript

En términos de idoneidad para grandes proyectos en java, la eliminación del código de la interfaz web requiere menos de 2 segundos, el resto del proceso de compilación de gwt toma unos 50 segundos (estas métricas se toman de una estación de trabajo de desarrollador).

Estamos considerando esta semana si proporcionaremos soporte de Lombok al resto de la aplicación. La creación de la aplicación principal toma alrededor de 1 hora (incluidas las pruebas unitarias, los instaladores, etc. construidos en una caja con 2xIntel E5450).