在 SonarQube 中,为什么“Sonar way”质量配置文件不包含 SonarJava 存储库中的所有规则

zor*_*ran 2 java static-code-analysis sonarqube

我的公司使用 SonarQube 已经有一段时间了,现在我们安装了最新的 SonarQube 版本 6.4,我们想升级我们正在使用的质量配置文件。

据我所知,不再需要使用 FindBugs、PMD 和 Checkstyle 插件,因为 SonarJava 插件中的规则包含其他插件中的所有规则。

我想使用“Sonar way”内置配置文件,但我注意到它只包含 SonarJava 存储库中所有规则的子集。Sonar 方式有 292 条规则,SonarJava 规则库中有 427 条规则。我注意到“声纳方式”中缺少一些重要规则。

问题是:

  1. 为什么“Sonar way”不包含所有 SonarJava 规则。
  2. 创建包含 SonarJava 存储库中所有规则的配置文件并使用此配置文件是否有一些缺点?

aga*_*rys 5

为什么“Sonar way”不包含所有 SonarJava 规则。

因为一些规则是:

  • 限制太多 - 不适合多种类型的应用程序,应在团队讨论后启用
  • 互斥(例如:RSPEC-1105表示起始{字符应位于同一行,RSPEC-1106表示起始字符应位于新行)
  • 它们仅适用于使用某些技术(JAVA 8、Spring 框架、jUnit 框架等)

这几个原因Sonar way包含部分规则,而不是全部。它使更多的人可以使用默认的规则集而不会感到沮丧。

创建包含 SonarJava 存储库中所有规则的配置文件并使用此配置文件是否有一些缺点?

您可以创建新的质量配置文件并使用批量操作启用所有规则。了解更多: https: //docs.sonarqube.org/latest/instance-administration/quality-profiles/