17

最近我正在寻找进行代码检查的最佳工具集。我的 IDE 是 Intellij 15.0,我知道那里有很好的检查功能,但是当我浏览互联网时,我没有发现 Intellij 内置检查代码与这三个代码之间的良好比较。尝试过它们的人可以给出一些最佳实践吗?Intellij 是否涵盖所有这些?

我知道 findbugs 在二进制级别运行,但仍然让它留在比较中。

4

1 回答 1

20

Checkstyle项目本身中,我们使用了所有这些工具:CheckstylePMDFindBugsIntelliJ IDEA 检查

以下是我的观察:

  • 在格式化、空格、大括号放置、Javadoc 和一般代码样式方面,Checkstyle是无可替代的。在命名和一些不好的做法方面与 IntelliJ 有一些重叠,但仅此而已。
  • PMD规则与 IntelliJ 的规则非常相似。这两种工具主要旨在检测典型错误或不良做法。不过,您仍然会发现一些独特的有用 PMD 规则,只是一些随机示例:BigIntegerInstantiationCommentDefaultAccessModifierSingletonClassReturningNewInstance
  • 我永远不会从FindBugs辞职,转而使用其他工具。FindBugs 只专注于发现代码中误报率低的真正错误。通常,它几乎不需要任何配置 - 只需启用所有规则并安全睡眠即可。当然,与 IntelliJ 有一些重叠,但检测到的错误越多越好。

IntelliJ IDEA检查是一个很棒的工具,因为它们包含许多独特且可靠的规则。而且它不仅是 Java - 您可以开箱即用地检测 XML、Properties、SQL、Spring、HTML、CSS 等中的问题。尽管它们需要大量配置并选择正确的规则集。启用所有规则将报告每个较大项目的数十万违规行为。并且很难将这些检查嵌入到 Maven 或 Gradle 构建中,以便项目能够自我验证。

我的建议是使用所有这些工具,因为它们中的每一个都包含至少十几个(有时是几十个)有用的检查,这些检查在其他任何地方都没有。

于 2015-12-06T22:25:54.273 回答