【问题标题】:Is Project Lombok suitable for large java projects? [closed]Project Lombok 适合大型 java 项目吗? [关闭]
【发布时间】:2011-02-21 09:43:56
【问题描述】:

有人在使用Project Lombok 进行大规模生产系统吗?它如何影响您的编译过程(即它是否进行两次编译、减慢速度、使其更脆弱)?

【问题讨论】:

标签: java code-generation boilerplate lombok


【解决方案1】:

Lombok 不进行两次编译。从技术上讲,它会“减慢”编译过程,因为除了编译时发生的常见事情之外,它还会运行,但与解析阶段、较低阶段和翻译阶段相比,lombok 几乎没有注册。

主要的脆弱性问题是,在不是 (A) 愚蠢(即记事本或差异查看器)、(B) eclipse、(C) netbeans 或 (D) 的编辑器中编辑 lombokified 代码会费尽心思通过运行 javac(例如带有 java 插件的 vim),它会很糟糕。如果这不适用,减少样板代码只会让您的代码不那么脆弱。

免责声明:我是 lombok 的两个主要开发者之一 :)

【讨论】:

  • 酷!这回答了我的很多问题,但不幸的是不是我问的问题(大规模生产使用的示例或适用性),所以我只是赞成而不接受。
【解决方案2】:

我在为大型 Java 和 Swing UI 应用程序开发 Google Web Toolkit (GWT) 前端时使用了 Project Lombok。因为我没有使用@SneakyThrows,所以我在运行时不需要 lombok.jar。

使用 delombok 行为,我提供了一个 2 阶段编译过程。 Lombok 注解的 java 代码 => Java 代码 => Javascript

就大型 Java 项目的适用性而言,对 Web 前端的代码进行分解需要不到 2 秒,其余的 gwt 编译过程大约需要 50 秒(这些指标取自开发人员工作站)。

本周我们正在考虑是否为应用程序的其余部分提供 Lombok 支持。构建主应用程序大约需要 1 小时(包括在装有 2 个英特尔 E5450 的盒子上构建的单元测试、安装程序等)。

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多