Java|Lombok 简单方便,为什么有些公司不让用?( 二 )


2.强制使用
当您在源代码中使用Lombok时 , 碰巧您的代码被其他人使用 , 那么依赖您代码的人还必须安装Lombok插件(无论他们是否喜欢) , 并花一些时间来了解Lombok使用注释 , 如果不这样做 , 则代码将无法正常运行 。 使用Lombok之后 , 我发现这是非常无赖的行为 。
3.可读性差
Lombok隐藏了JavaBean封装的细节 。 如果使用@AllArgsConstructor批注 , 它将提供一个巨大的构造函数 , 该外部构造函数使外界有机会在初始化对象时修改类中的所有属性 。
首先 , 这是非常不安全的 , 因为我们不想修改类中的某个属性 。 另外 , 如果某个类中有许多属性 , 则将有一个包含许多参数的构造函数 。 龙目岛被注入阶级 , 这是不合理的;
其次 , 构造函数参数的顺序完全由Lombok控制 , 而我们无法控制它 。 只有在需要调试时 , 您才会发现一个奇怪的“小强”在等着您 。
最后 , 在运行代码之前 , 您只能想象它们在所有JavaBean方法中的样子 , 看不到它们 。
4.增加代码耦合
当您使用Lombok编写某个模块的代码时 , 依赖于此模块的其他代码需要引入Lombok依赖性 , 同时 , 您需要在IDE中安装Lombok插件 。
尽管Lombok的依赖包并不大 , 只是因为Lombok在一个地方使用 , 所以必须迫使所有其他依赖方加入Lombok的Jar包 。 这是一个侵入式耦合 。 如果再次遇到JDK版本问题 , 这将是一场灾难 。
5.收益不值得损失
使用Lombok感觉很不错 , 但会污染您的代码 , 破坏Java代码的完整性 , 可读性和安全性 , 并增加团队的技术负担 。 这种伤害大于收益 , 而收益大于损失 。 操作 。 如果您确实想在考虑可读性和编码效率的同时使代码更精致 , 那么不妨使用主流的Scala或基于JVM的语言Kotlin 。
总结一下龙目岛本身就是一个出色的Java代码库 。 它使用巧妙的语法糖来简化Java的编码 , 并提供一种简化Java代码的方法 。 但是 , 使用此代码库时 , 您需要了解Lombok不是A标准Java库 。
使用Lombok将增加团队的技术负担 , 降低代码的可读性 , 并增加代码的耦合和调试难度 。
尽管Lombok在一定程度上减少了样板代码的编写 , 但它也带来了一些未知的风险 。
【Java|Lombok 简单方便,为什么有些公司不让用?】如果您正在参与团队项目(或大型项目) , 请考虑随后的升级和扩展 , 是否要使用Lombok , 请与您的团队沟通并三思 。


推荐阅读