龙目岛项目对比Eclipse 模板/代码生成
-
26-09-2019 - |
题
做 龙目岛计划 与 Eclipse 中的代码模板/代码生成相比有何优势?有什么缺点吗(除了包含 .jar 之外)?
解决方案
龙目岛的一个优点是,一旦你已经标注了,说一个班,@Data注释,你永远需要当您更改重新生成代码。例如,如果你添加一个新的领域,@Data会自动包含在平等,的hashCode和toString方法这一领域。你需要使用Eclipse生成的方法时,手动做出的改变。在某些时候,你可能更喜欢手动控制,但在大多数情况下,我希望不是。
其他提示
龙目的优点在于,代码实际上不是有 - 即类是更可读并且不杂乱
优点:
- 非常容易使用
类更加干净(“没有样板代码”),特别是类似“结构”的内部类缩小到最低限度:
@Data private class AttrValue { private String attribute; private MyType value; }
这将创建 getter 和 setter、toString() 以及包含这两个变量的正确 hash() / equals() 方法。该变体与
@Value
创建一个不可变的结构(没有设置器,所有字段都是最终的)。- 更改字段(getters、setters、toString、hash、equals)时无需生成/删除代码
- 不干扰手工编码方法:只需将您自己的特定设置器添加到需要的类中即可。Lombok 跳过这个并生成其他所有内容
缺点:
- 还没有名称重构:重命名
value
上面不会(还)重命名getValue()
和setValue()
- 5月日食速度略有减慢
toString
输出不如 apache commons 的 ToStringBuilder 那样好
Eclipse EMF 提供了一些非常方便的功能,但 Lombok 尚不支持:
- 强大的通知机制,可了解实例的变化
- 没有 java 反射的通用 API。无需对类型进行强引用即可访问和修改实例
- 基于命令和 API 的编辑
- 模型之间的交叉引用:创建并加载模型树,EMF 通过为交叉引用创建代理来处理加载。这可以节省内存并提高大型域树的性能
- 以及更多...
不隶属于 StackOverflow