Intellij IDEA内置检测代码与checkstyle,PMD& FindBugs的

时间:2015-12-06 16:05:36

标签: java intellij-idea checkstyle findbugs code-inspection

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

我知道findbugs以二进制级别运行,但仍然让它保持比较。

1 个答案:

答案 0 :(得分:15)

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

以下是我的观察:

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

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

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