【问题标题】:Visual C++ (2012 - 2015) Code Metrics [closed]Visual C++(2012 - 2015)代码度量[关闭]
【发布时间】:2015-05-14 19:13:41
【问题描述】:

是否有任何工具可用于为 Visual C++ 2012/2013 或 2015 生成代码度量(例如圈复杂度、代码行、注释代码比等)?

我们需要能够运行命令行工具来生成这些指标(并将它们输出到某种文件),以便我们可以根据我们的持续集成过程自动运行分析。请注意,我们不需要完整的静态分析工具,因为我们已经在使用(并且很满意)Visual C++ 中内置的静态代码分析工具(但这不包括复杂性检查)。

大多数“Visual Studio Code Metrics”工具似乎只支持托管代码(C# 等)而不支持 C++。

几年前我在这里看到过类似的问题,但我希望可能有一些更新的选项。我没有通过 Google 找到太多信息。

提前致谢。 本

【问题讨论】:

  • CodeMaid 可以展示visual studio内部的复杂性。
  • 感谢您的建议。我应该更清楚一点,除了在 IDE 中查看复杂性信息之外,我还需要能够通过命令行工具生成它并以某种方式导出它,以便我们可以生成复杂性报告和质量门作为其中的一部分我们的持续集成流程。
  • 我有一个可能的答案,还没有准备好公开发布。离线联系我,见简历。

标签: c++ static-analysis code-metrics


【解决方案1】:

你可以试试CppDepend,一个相当完整的C++静态分析工具,它可以让你计算圈复杂度和许多其他指标,它很好地集成到Visual studio 2012/2013,并且可以分析来自command line的源代码

【讨论】:

  • 谢谢戴恩。 CppDepend 看起来非常好,它实际上有一个 SonarQube 插件,这是我们用于 CI 仪表板的插件,所以更好。但是有一个问题,它真的可以进行普通的静态代码分析吗?它似乎产生了很好的指标,但它真的能做一些事情,比如检测未初始化变量的潜在使用情况,以及像其他静态分析器一样的其他潜在编程逻辑错误?
  • CppDepend embed CppCheck 可以检测许多潜在的编程逻辑错误,并且它会报告所有 Clang 诊断错误,您还可以插入其他静态分析结果,如下所述:cppdepend.com/Doc_Custom_Plugin
【解决方案2】:

是的。

Coverity 和 Parasoft 静态分析工具就是其中的两个。您还应该看看 Klocwork。

这里搜索static analysis plugin visual studio code metrics

【讨论】:

  • 不幸的是,Google 搜索列出的工具似乎只适用于托管代码(C# 等),而不适用于 C++。 Coverity 和 Parasoft 的建议似乎对我的需要非常重要。我们已经使用了 Visual C++ 的内置静态代码分析器,但它不会生成指标,因此我正在寻找一种轻量级的工具,它可以仅生成这些指标而无需执行完整的静态分析。
【解决方案3】:

我们的SourceMeter 命令行工具将 Visual C++ 项目文件作为输入,并以 CSV 格式计算您正在寻找的代码指标(循环复杂度、代码行数、注释代码比等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2017-10-12
    相关资源
    最近更新 更多