有没有办法比较或执行VS 2010代码分析,指标和代码覆盖率结果的增量?

时间:2012-03-01 06:34:44

标签: visual-studio-2010 code-analysis code-metrics

我已经开始使用VS2010的代码测量和分析功能;即代码分析,代码度量和代码覆盖。我已经详细介绍了如何运行这些工具(使用VS并通过命令行自动执行),并且还查看了结果。

我想知道是否有办法比较结果以更好地理解“进展”,这意味着代码质量如何持续改进?例如,我想比较先前构建的代码度量统计信息(xml结果文件),并将其与当前构建进行比较。

是否有可用的工具我不知道?现在我们正考虑将结果存储在excel中,并在我们进步时进行比较和绘制。

感谢任何人有任何想法。

由于

2 个答案:

答案 0 :(得分:2)

免责声明我是所引用工具的开发者:使用工具NDepend,您可以编写Code Query over LINQ (CQLinq)来匹配任何代码指标的进化。例如,您可以从查询开始:

from t in JustMyCode.Types
where t.IsPresentInBothBuilds() &&
      t.CodeWasChanged()
let tOld = t.OlderVersion()

let newLoC = t.NbLinesOfCode  
let oldLoC = tOld.NbLinesOfCode
let newCC = t.CyclomaticComplexity
let oldCC = tOld.CyclomaticComplexity
let newCov = t.PercentageCoverage
let oldCov = tOld.PercentageCoverage
where newLoC > oldLoC || newCC > oldCC || newCov < oldCov
select new { t, newLoC, oldLoC, newCC, oldCC, newCov, oldCov }

...并在Visual Studio中获得即时结果。此类规则可以整合到您的CI TFS build process中,也可以显示在HTML+javascript report中。

Code metric evolution match

答案 1 :(得分:0)

我所知道的唯一专用比较工具是我几年前创建的,可在http://finlogikfxcopstats.codeplex.com/获得。我不再负责其维护,我不确定它是否已针对FxCop 10.0进行了更新。但是,它的源代码是可用的,因此如果您需要,可以调整它...

TFS also offers some results tracking,可以从中生成历史报告。但是,我觉得它的方法很无用,因为它意味着你需要保持积压“活动”,这意味着你不能根据新问题使构建失败。