Проект Lombok подходит для крупных проектов Java?
Есть ли кто-нибудь, используя Project Lombok для крупномасштабной системы производства? Как это влияет на ваш процесс компиляции (т.е. Делает ли он двухпроходную компиляцию, замедляет ее, делает ее более хрупкой)?
Ответы
Ответ 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).