【问题标题】:Difference between Sonar Complexity metric values and Complexity reporter by PMDPMD 的声纳复杂度度量值和复杂度报告器之间的差异
【发布时间】:2013-02-15 17:11:13
【问题描述】:

我们正在使用 Sonar 分析我们的代码并在 Sonar 的自定义质量配置文件中配置 PMD、findbugs 和 checkstyle 规则。如果违反此规则的阈值,则 PMD 规则代码样式圈复杂度会在我们的代码中收集违规行为。 Sonar 在项目仪表板中还有一个复杂性小部件,它根据类、方法和文件显示复杂性。这个复杂度小部件是否考虑了由 PMD 规则引擎定义的用于计算代码样式圈复杂度的相同规则,或者这个小部件是否有自己的计算复杂度的方法? Sonar 复杂性小部件是否使用 PMD 规则引擎报告的违规来确定复杂性?

问这个问题的原因是,如果两者计算复杂度的方法不同,那么我们只想参考一种方法,并且最好保留哪种方法。

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    Sonar 使用我们的内部 Java 解析器自行计算圈复杂度。这就是复杂性小部件中显示的内容。计算可能确实与 PMD 所做的不同。因此,如果您激活有关复杂性的 PMD 规则,显然这将触发 PMD 而不是 Sonar 执行的措施。

    仅供参考,我们的目标是在 Sonar(基于我们自己的内部解析器)中逐步实现 PMD 和 Checkstyle 中可以找到的大多数有用规则,这样主要结果就不会像您所经历的那样存在差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      相关资源
      最近更新 更多