Es adecuado para grandes proyectos de Java Proyecto Lombok?
-
30-09-2019 - |
Pregunta
¿Hay alguien por ahí usando Proyecto Lombok para un sistema de producción a gran escala? ¿Cómo influye el proceso de compilación (es decir, es lo que hace la compilación de dos pasos, luego bajar lentamente, hacerlo más frágil)?
Solución
Lombok no hace la compilación de dos pasadas. Técnicamente 'frena' el proceso de compilación en la que se ejecuta, además de las cosas habituales que se producen cuando se compila, pero en comparación con la fase de análisis, la fase inferior y la fase de traducción, Lombok apenas incluso registros.
El principal problema fragilidad es que la edición de código lombokified en un editor que no puede ser (a) tonto (es decir, el bloc de notas o un visor de diferencias), (B) eclipse, (C) NetBeans, o (d) se lleva todos sus cerebros mediante la ejecución de javac (por ejemplo, vim con el plugin de java), que va a chupar. Si eso no se aplica, la reducción de la plancha de caldera sólo debe hacer que su código sea menos frágil.
Exención de responsabilidad: yo soy uno de los dos principales desarrolladores de Lombok:)
Otros consejos
He utilizado Proyecto Lombok, mientras que el desarrollo de un Google Web Toolkit (GWT) front-end para la aplicación de interfaz de usuario de gran oscilación de Java y. Como yo no uso @SneakyThrows, que no requería lombok.jar en tiempo de ejecución.
Usando el comportamiento delombok proporciono un proceso de compilación 2stage. Lombok anotado el código de Java => código Java => Javascript
En cuanto a la idoneidad para grandes proyectos de Java, delomboking el código de la interfaz web tarda menos de 2 segundos, el resto del proceso de GWT-compilación tarda unos 50 segundos (Estas mediciones se toman desde una estación de trabajo de desarrollador).
Estamos considerando esta semana, si vamos a dar apoyo Lombok con el resto de la aplicación. La construcción de la aplicación principal tarda alrededor de 1 hora (incluyendo pruebas de unidad, instaladores, etc. construida sobre una caja con 2xIntel E5450 de).