【问题标题】:how to list methods with most cyclomatic complexity如何列出具有最大圈复杂度的方法
【发布时间】:2015-08-08 14:34:39
【问题描述】:

我已经安装了声纳 2.12。转到 Violations > Major > Cyclomatic Complexity 我可以看到 CC 超过 10 的方法数量,但我需要逐个方法查看它的实际 CC。我想知道是否有办法查看大多数 CC 的方法列表?

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    应该有一个规则来检查复杂度高的方法;配置阈值并运行分析。

    然后使用 Sonar REST api 来查询该规则的命中。结果将包括文件名、行号,并且消息会告诉您复杂度值。

    这是您必须调用的操作: http://docs.codehaus.org/pages/viewpage.action?pageId=229743298

    【讨论】:

      【解决方案2】:

      我们的工具SourceMeter 有一个plug-in for SonarQube,可以列出最复杂的方法。它为方法级指标提供了小部件。您可以查看here

      【讨论】:

        【解决方案3】:

        使用 Sonar 2.12,您可以自定义项目的仪表板(具有管理员权限)以显示“指标热点小部件”,您可以将其配置为显示圈复杂度指标。这样,您将看到项目的最高 CC。

        阅读更多关于how to customize your dashboard

        【讨论】:

        • Fabrice,我查看了指标热点小部件,但我没有看到 CC 指标,只是复杂度/方法平均指标,这是一个不同的值。
        • 确实,我忘了提到我们还没有存储每个方法的 CC,而只存储全局 CC 和文件的平均值/方法。也许有一天我们会在方法级别添加信息,但目前这会导致数据库容量问题。
        • @Fabrice-SonarSourceTeam 今天仍然如此,我无法为单个功能标记 CC 以立即查看班级中最严重的违规者?
        • @Harald 是的,今天仍然如此。
        • 有一个 SourceMeter SonarQube 插件 (github.com/FrontEndART/SonarQube-plug-in),它也提供类和方法级别的指标,其定制的仪表板能够列出最差的类和方法。查看在线演示:sonarqube.sourcemeter.com
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多