【问题标题】:Is there a way to ignore Sonar issue "common-java:InsufficientCommentDensity" for whole project?有没有办法忽略整个项目的声纳问题“common-java:InsufficientCommentDensity”?
【发布时间】:2019-03-24 13:07:25
【问题描述】:

我正在开发这个项目,开发人员正在尝试编写易于理解的代码,因此在很多地方使用 cmets 是没有意义的。我们有一个 SonarQube,它在其他项目中使用,我们无法对其进行配置。我们所能做的就是在项目的 POM 文件中配置 Sonar。 SonarQube 抱怨说,我们的代码中没有具有规则 "common-java:InsufficientCommentDensity" 的 cmets。我知道,我们可以使用 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>

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

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

Sonar Maven 插件版本为 3.4.0.905

【问题讨论】:

  • 你找到解决办法了吗?
  • 很遗憾还没有

标签: sonarqube


【解决方案1】:

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

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

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

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

  1. 点击管理 → 常规设置

  2. 点击左侧的分析范围

  3. 现在设置以下属性:

保存并再次运行扫描。

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 2020-05-10
    • 1970-01-01
    • 2010-11-17
    • 2014-01-18
    • 2014-07-27
    • 2020-07-02
    • 2010-12-22
    • 2015-04-17
    相关资源
    最近更新 更多