小编典典

使用 Project Lombok 是否安全?

all

如果您不知道Project Lombok可以帮助解决 Java 的一些烦恼,例如生成带有注释的
getter 和 setter,
甚至像使用
@Data 生成简单的
JavaBean
。它真的可以帮助我,特别是在 50
个不同的事件对象中,您有多达 7 个不同的字段需要用 getter 构建和隐藏。我可以用这个删除近一千行代码。

但是,我担心从长远来看,这将是一个令人遗憾的决定。当我提到它时, Flamewars 将在##Java Freenode频道中爆发,提供代码片段会使可能的帮助者感到困惑,人们会抱怨缺少
JavaDoc
,并且未来的提交者可能无论如何都会将其全部删除。我真的很喜欢积极的一面,但我担心消极的一面。

所以:在任何项目上使用 Lombok 是否安全,无论大小?积极的影响是否值得消极的影响?


阅读 118

收藏
2022-03-15

共1个答案

小编典典

听起来您已经决定 Project Lombok 为您提议的新项目提供了显着的技术优势。(从一开始就明确一点,我对龙目岛项目没有特别的看法,不管是哪种方式。)

在某些项目(开源或其他方式)中使用 Project
Lombok(或任何其他改变游戏规则的技术)之前,您需要确保项目利益相关者同意这一点。这包括开发人员和任何重要的用户(例如正式或非正式的赞助商)。

你提到了这些潜在的问题:

当我提到它时,Flamewars 会在##Java Freenode 频道中爆发,

简单。忽略/不参与火焰战争,或者干脆不提龙目岛。

提供代码片段会混淆可能的帮助者,

如果项目策略是使用 Lombok,那么可能的帮助者将需要习惯它。

人们会抱怨缺少 JavaDoc,

那是他们的问题。没有人会试图将其组织的源代码/文档规则严格地应用于第三方开源软件。项目团队应该可以自由设置适合所使用技术的项目源代码/文档标准。

跟进 - Lombok 开发人员认识到不为合成的 getter 和 setter 方法生成 javadoc
注释是一个问题。如果这是您项目的主要问题,那么另一种方法是创建并提交 Lombok 补丁来解决这个问题。 )

并且未来的提交者可能只是将其全部删除。

那不开!如果商定的项目策略是使用 Lombok,那么无偿取消 Lombok 代码的提交者应该受到惩罚,并在必要时撤销他们的提交权。

当然,这假设您已经获得了利益相关者的支持……包括开发人员。它假设你准备好为你的事业辩护,并适当地处理不可避免的反对声音。

2022-03-15