Intellij IDEA内置检查代码与checkstyle,PMD和findbugs

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

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


答案 1

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

以下是我的观察:

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

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

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


答案 2

推荐