Есть ли кто-нибудь, используя Project Lombok для крупномасштабной системы производства? Как это влияет на ваш процесс компиляции (т.е. Делает ли он двухпроходную компиляцию, замедляет ее, делает ее более хрупкой)?
Проект Lombok подходит для крупных проектов Java?
Ответ 1
Ломбок не выполняет двухпроходную компиляцию. Технически он "замедляет" процесс компиляции тем, что он работает в дополнение к обычным вещам, которые возникают при компиляции, но по сравнению с фазой анализа, нижней фазе и фазе перевода ломбок почти не регистрируется.
Основная проблема хрупкости заключается в том, что редактирование lombokified кода в редакторе, который не является ни (A) немым (например, блокнот или просмотрщик различий), (B) затмение, (C) netbeans, или (D) получает все свои мозги запустив javac (например, vim с java-плагином), он будет сосать. Если это не применяется, уменьшение шаблона должно сделать ваш код менее хрупким.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я являюсь одним из двух основных разработчиков ломбока:)
Ответ 2
Я использовал Project Lombok при разработке интерфейса Google Web Toolkit (GWT) для большого java-приложения и Swing UI-приложения. Поскольку я не использовал @SneakyThrows, я не требовал lombok.jar во время выполнения.
Используя поведение delombok, я предоставляю процесс компиляции 2stage. Lombok аннотированный код Java = > Java-код = > Javascript
С точки зрения пригодности для больших проектов java, delomboking код для веб-интерфейса занимает менее 2 секунд, остальная часть процесса gwt-компиляции занимает ~ 50 секунд (эти показатели берутся с рабочей станции разработчика).
Мы рассматриваем эту неделю, если мы предоставим поддержку Lombok остальной части приложения. Создание основного приложения занимает около 1 часа (включая модульные тесты, установщики и т.д., Построенные на коробке с 2xIntel E5450).