是否有很好的资源来描述 PMD 规则集背后的“原因”?PMD 的网站有“什么”——每条规则的作用——但它没有描述为什么 PMD 有这条规则以及为什么忽略这条规则会给你在现实世界中带来麻烦。特别是,我很想知道为什么 PMD 有 AvoidInstantiatingObjectsInLoops 和 OnlyOneReturn 规则(如果您需要创建一个与集合中的每个对象对应的新对象,第一个似乎是必要的,第二个似乎在许多情况下是必要的根据某些标准返回一个值),但我真正想要的是一个链接,描述了大多数 PMD 规则背后的“为什么”,因为这经常出现。
为了清楚起见,我知道我可以禁用这些以及如何做到这一点,我只是想知道为什么它们首先存在。抱歉,如果我错过了一些明显的东西,但在发布之前我做了谷歌搜索和 SO 搜索。我也明白这些问题通常是“品味”问题——我正在寻找的是规则的论据是什么以及有什么替代方案。举一个具体的例子,你应该如何在不实例化循环中的每个对象的情况下实现一个与循环中的每个对象对应的对象(这是 Java 中的常见操作)?