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