【问题标题】:SonarQube - Combining Sonar way, FindBugs, PMD and Checkstyle without duplicatesSonarQube - 结合声纳方式、FindBugs、PMD 和 Checkstyle 没有重复
【发布时间】:2015-03-22 09:38:10
【问题描述】:

我正在寻找将 SonarQube 与 FindBugs、PMD 和 Checkstyle 插件结合使用的最佳实践。

  1. SonarQube 的默认质量配置文件“Sonar way”中的规则如何 与那些插件有关?它们是完全不同的规则,还是 Sonar 方式包含这些插件中最重要的规则?
  2. 组合这些规则集的最佳方式是什么?如何避免重复检查?
  3. Sonar v.3.x 包含“Sonar way with Findbugs”配置文件。我在 v.4.5.1 中找不到它 - 它发生了什么?

【问题讨论】:

    标签: sonarqube sonarqube-4.5


    【解决方案1】:

    SonarQube Java 插件本身就已经涵盖了所有的 Checkstyle 和 PMD 规则——这就是为什么相关插件不再捆绑在 SonarQube 中的原因。这样你就可以摆脱那些插件,忘记相关的规则。

    关于 Findbugs,大多数规则都是对 SonarQube Java 插件规则的补充。不再有“使用 Findbugs 的声纳方式”配置文件,因为这是所有语言插件只有一个“声纳方式”配置文件的约定。

    【讨论】:

    • (部分)重复规则的一个示例是findbugs:UUF_UNUSED_FIELDsquid:S1068。 squid 规则比 findBugs 规则匹配得更多。另一方面,它没有找到包私有字段,而这些字段又由 findBugs 找到。不过也有一些重复。此外,技术债务也有很大不同(5 分钟对 30 分钟)。我可以在某处为 SonarQube 贡献这样的经验吗?
    • 你可以来用户邮件列表讨论这个问题:sonarqube.org/get-support
    • @Fabrice-SonarQubeTeam 因为什么版本的 PMD 规则已经包含在 SonarQube Java 插件中?与这个旧的Jira issue 相关,我们需要一个新的 Java Android 配置文件(可能是 Java+Lint+PMD+FindBugs)。配置它的最佳方法是什么?
    • SonarQube 支持 CheckStyle 的所有检查是不正确!例如,参见AnnotationLocation 规则。
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多