java - Intellij IDEA 内置检查代码 vs checkstyle, PMD & findbugs

标签 java intellij-idea checkstyle findbugs code-inspection

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

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

最佳答案

Checkstyle项目本身,我们使用所有这些工具:Checkstyle , PMD , FindBugsIntelliJ IDEA inspections .

这是我的观察:

  • 在格式化、空格、大括号位置、Javadoc 和一般代码样式方面,Checkstyle 无可替代。在命名和一些不良做法方面与 IntelliJ 有一些重叠,但仅此而已。
  • PMD 规则与 IntelliJ 的规则非常相似。这两种工具的主要目的是检测典型的错误或不良做法。不过,您仍然会发现一些独特有用的 PMD 规则,只是一些随机示例:BigIntegerInstantiationCommentDefaultAccessModifierSingletonClassReturningNewInstance
  • 我绝不会放弃 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/

相关文章:

android - 编辑布局 xml 时的 Intellij Android 预览 Pane 不允许我选择其他 SDK 版本

java - Maven checkstyle 未在目标中触发

java - 如何抑制枚举常量/值缺少 javadoc checkstyle 警告?

java - 如何通过xpath获取标题?

java - 从 Android 发布到 mysql php

java - 是否可以使用 JUnit 测试多线程?

java - 在运行时而不是在编译时将jar文件添加到Gradle类路径中?

jar - 使用 IntelliJ IDEA 12 添加 jar

java - Java 源文件末尾的空新行

java - [路径] 中的类路径 list 属性引用了一个或多个不存在的文件