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

标签 java sonarqube static-code-analysis

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

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

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

问题是:

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

最佳答案

Why doesn't 'Sonar way' contain all SonarJava rules.

因为一些规则是:

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

Sonar 方式包含部分规则(而非全部)的一些原因。这使得更多的人可以使用默认的规则集而不会感到沮丧。

Is there some drawback in creating a profile that contains all rules from SonarJava repository, and using this profile?

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

关于java - 在 SonarQube 中,为什么 'Sonar way' 质量配置文件不包含 SonarJava 存储库中的所有规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46662396/

相关文章:

java - 写入文件,流关闭错误,Java

java - 如何在 Android 中获取 LinkedIn 联系人或好友列表?

java - 限制其他 Java 包对 Java 包的访问

java - 如何在 Java 中插入、替换和删除文件区域?

java - android java循环与语句哪个性能更好?

java - 使用 Gradle 命令创建 Serenity BDD 骨架项目

plugins - SonarQube BuildBreaker 插件阻止本地分析

java - 检测硬编码密码

sonarqube - 是否可以向 sonarlint-cli 提供 sonar-project.properties ?

jetbrains-ide - 使用 IntelliJ IDEA 进行静态代码分析