有没有办法忽略整个项目的声纳问题“common-java:InsufficientCommentDensity”?

Ole*_*nko 5 sonarqube

我正在处理这个项目,开发人员正在尝试编写易于理解的代码,因此在很多地方使用注释是没有意义的。我们有一个 SonarQube,它在其他项目中使用,我们无法配置它。我们所能做的就是在我们项目的 POM 文件中配置 Sonar。SonarQube 抱怨说,我们的代码中没有带有规则"common-java:InsufficientCommentDensity" 的注释。我知道,我们可以使用 sonar.issue.ignore.multicriteria 属性忽略一些规则,例如

<sonar.issue.ignore.multicriteria>junit.assertions.include.messages</sonar.issue.ignore.multicriteria>
<sonar.issue.ignore.multicriteria.junit.assertions.include.messages.ruleKey>squid:S2698</sonar.issue.ignore.multicriteria.junit.assertions.include.messages.ruleKey>
<sonar.issue.ignore.multicriteria.junit.assertions.include.messages.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.junit.assertions.include.messages.resourceKey>
Run Code Online (Sandbox Code Playgroud)

但它不适用于“common-java:InsufficientCommentDensity”规则。为什么?在我们的案例中,有没有办法忽略这条规则?

SonarQube 版本为 6.7(内部版本 33306)

Sonar Maven 插件版本为 3.4.0.905

Isa*_*110 7

我对此进行了很多测试,最后发现从扫描仪端(pom、命令行等)设置通用规则(任何以“common-xxxx”开头的规则)将被忽略并且不起作用。特定于语言的规则可以作为命令行参数传递,这就是为什么“squid:S2698”规则被正确忽略的原因。这是 SonarQube JIRA 板上的问题链接,它说它“不会被修复”。

\n\n

https://jira.sonarsource.com/browse/SONAR-8230

\n\n

您唯一的选择是从 UI 中设置问题排除。以下是从 U 进行设置的步骤。

\n\n

如果这是您想要忽略的常见规则,请确保您拥有项目的管理员权限。在项目仪表板上,您应该看到管理选项卡:

\n\n

在此输入图像描述

\n\n
    \n
  1. 单击管理\xc2\xa0\xe2\x86\x92 常规设置

  2. \n
  3. 单击左侧的分析范围

  4. \n
  5. 现在设置以下属性:

  6. \n
\n\n

在此输入图像描述

\n\n

保存并再次运行扫描。

\n