【问题标题】:Is there a way to measure various metrics of Java code in SonarQube有没有办法测量 SonarQube 中 Java 代码的各种指标
【发布时间】:2017-04-20 06:02:36
【问题描述】:

我想为自定义 SonarQube 插件中的 java 代码计算一些复杂性和质量指标。对于这些指标,需要各种度量,例如变量数量、操作数、数据库连接、函数等。 SonarQube CoreMetrics 只提供其中的几个,我不想构建一个完整的 java-file-parser 来自己测量它们。所以有一些关于如何做到这一点的问题:

有没有办法通过 SonarQube 或现有插件收集比 CoreMetrics 提供的更多所需值?

如果没有,有没有人知道一个好的开源 java-parser/scanner 可以从源代码中测量很多大小指标,我可以在我的项目中使用?

非常感谢您的任何意见和建议。

【问题讨论】:

    标签: java parsing sonarqube metrics


    【解决方案1】:

    如果我理解正确,实现这一目标的最佳方法是尝试实施一些自定义规则(参见 tutorial)。

    您将在已解析文件上实现一个访问者,这将允许您对 java 代码进行任何您想要的计算。

    【讨论】:

    • 感谢您的建议,但我不想定义一些编码规则来将它们显示为错误或代码异味。我想计算 Java 源代码中的各种参数,例如变量、方法等,以从中计算出一些指标,例如 Halsteads Complexity Metric。在我看来,规则不是这样做的正确方法,因为它们只检查代码中是否存在某些结构。还是我错了?
    • 您可以访问解析器和 API 来报告问题。只是不要使用报告问题 API,而是使用解析器来计算您能想到的任何指标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多