Visual C++(2012-2015)代码度量

4
有没有可以用于生成Visual C++ 2012/2013或2015的代码指标(如圆形复杂度、代码行数、注释与代码比率等)的工具?我们需要能够运行一个命令行工具来生成这些指标(并将它们输出到某种文件),以便我们可以自动运行分析作为我们的持续集成过程的一部分。请注意,我们不需要完整的静态分析工具,因为我们已经在使用(并且很满意)Visual C++内置的静态代码分析工具(但是这不包括复杂性检查)。大多数“Visual Studio Code Metrics”工具似乎只支持托管代码(如C#等),而不支持C++。我曾经看到过类似的问题,但那是几年前的事情了,我希望现在有更多的选择。我在谷歌上找到的不多。提前致谢,Ben。

CodeMaid可以在Visual Studio中展示代码的复杂性。 - David Ruhmann
谢谢您的建议。不过我应该更清楚地表明,除了在IDE中查看复杂度信息外,我还需要能够通过命令行工具生成它并以某种方式导出,以便我们可以作为持续集成流程的一部分生成复杂度报告和质量门限。 - BenS1
1
我有一个可能的答案,不准备公开发布。离线联系我,详见个人资料。 - Ira Baxter
3个回答

4
你可以尝试使用CppDepend,这是一个相当完整的C++静态分析工具,它可以帮助你计算圈复杂度和许多其他指标,它与Visual Studio 2012/2013很好地集成在一起,可以从命令行分析源代码。

1
谢谢Dane。CppDepend看起来非常不错,它实际上还有一个适用于我们CI仪表板的SonarQube插件,这更好了。不过我有一个问题,它是否真正执行常规静态代码分析?它似乎生成了很好的指标,但是它是否实际上会像其他静态分析器一样检测可能使用未初始化变量和其他潜在的编程逻辑错误呢? - BenS1
CppDepend嵌入了CppCheck,可以检测出许多潜在的编程逻辑错误,并报告所有Clang诊断错误。您还可以按照此处所述插入其他静态分析结果:http://www.cppdepend.com/Doc_Custom_Plugin - Dane

0

不幸的是,谷歌搜索列出的工具似乎只适用于托管代码(如C#等),而不适用于C++。Coverity和Parasoft的建议似乎对我所需的内容过于繁重。我们已经使用了Visual C++内置的静态代码分析器,但它不会生成度量标准,因此我正在寻找一种轻量级工具,可以仅生成这些度量标准,而无需执行完整的静态分析。 - BenS1

0

我们的SourceMeter命令行工具以Visual C++项目文件作为输入,并以CSV格式计算您所需要的代码度量(圈复杂度、代码行数、注释与代码比率等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接