最近我在寻找最好的代码检查工具集。我的 IDE 是 Intellij 15.0,我知道那里有很好的检查功能,但是当我浏览互联网时,我没有找到 Intellij 内置检查代码与这三个代码之间的良好比较。 尝试过所有方法的人可以提供一些最佳实践吗? Intellij 涵盖所有这些吗?
我知道 findbugs 以二进制级别运行,但仍然让它留在比较中。
最佳答案
在Checkstyle项目本身,我们使用所有这些工具:Checkstyle , PMD , FindBugs和 IntelliJ IDEA inspections .
这是我的观察:
- 在格式化、空格、大括号位置、Javadoc 和一般代码样式方面,Checkstyle 无可替代。在命名和一些不良做法方面与 IntelliJ 有一些重叠,但仅此而已。
- PMD 规则与 IntelliJ 的规则非常相似。这两种工具的主要目的是检测典型的错误或不良做法。不过,您仍然会发现一些独特有用的 PMD 规则,只是一些随机示例:BigIntegerInstantiation、CommentDefaultAccessModifier、SingletonClassReturningNewInstance。
- 我绝不会放弃 FindBugs 而转而使用其他工具。 FindBugs 专注于以低误报率发现代码中的真正错误。通常,它几乎不需要任何配置——只需启用所有规则并安然休眠。当然与 IntelliJ 有一些重叠,但检测到的错误越多越好。
IntelliJ IDEA 检查是一个很棒的工具,因为它们包含许多独特且可靠的规则。不仅是 Java——您可以开箱即用地检测 XML、属性、SQL、Spring、HTML、CSS 等中的问题。尽管它们需要大量配置并选择正确的规则集。启用所有规则将报告每个较大项目的数十万次违规行为。而且很难将这些检查嵌入到 Maven 或 Gradle 构建中,以便项目能够 self 验证。
我的建议是使用所有这些工具,因为它们中的每一个都包含至少十几个(有时是几十个)有用的检查,这些检查在其他任何地方都不可用。
关于java - Intellij IDEA 内置检查代码 vs checkstyle, PMD & findbugs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34119514/