一个生成 HTML 形式的代码指标摘要报告的程序






4.67/5 (2投票s)
一种简单的方法,用于解析多个 CodeMetrics XML 数据并生成摘要报告。
引言
在大项目中,可维护性是一个巨大的挑战。Visual Studio 现在内置了一种生成代码指标报告的方式。当存在超过 10 个二进制文件时,拥有一个摘要报告总是受欢迎的。这样的报告可以轻松集成到每日构建中,并在不同的构建仪表板(例如 Jenkins/Hudson)中发布。
背景
CodeMetrics 本身是一个很大的课题。以下链接来自 MSDN,解释了基本知识:http://msdn.microsoft.com/en-us/library/bb385914.aspx
使用 metrics.exe(PowerTools 提供)我们可以轻松生成 XML 报告。
请参考这篇文章:http://blogs.msdn.com/b/camerons/archive/2011/01/28/code-metrics-from-the-command-line.aspx
本文的唯一目的是从生成的 XML 文件生成一个简短的摘要报告。同时将单个 XML 转换为 HTML。为此,我使用了 Skinner 博客中的 XSD 文件。
请参考:http://blogs.msdn.com/b/camerons/archive/2011/02/20/code-metrics-reporting-and-xslt-debugging.aspx
使用二进制文件
在 app.config 中,在 Folder 键下指定输入文件夹名称。确保所有生成的 XML 都存储在那里。运行 exe 程序。HTML 报告将在 HTMLReports 文件夹中生成。
使用代码
在应用程序中,我们可以轻松指定不同 MI 指数范围的值。我们可以指定输入和输出文件夹。所有这些都通过 app.config 驱动。输入目录也可以作为参数传递。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="Low" value="20"/>
<add key ="Medium" value="50"/>
<add key ="High" value="80"/>
<add key ="Folder" value="CodeMetricsReport"/>
<add key ="OutputXML" value="MetricsSummary.xml"/>
<add key ="OutFolder" value="HTMLReports"/>
</appSettings>
</configuration>
CodeMetricsReportGenerator
是主类。它还将单个报告转换为 HTML。AnalysisCodeMetrics
方法分析所有 XML 文件并将信息存储在内存中。
GenerateMISummaryReport
生成摘要报告。为此,它使用 MetricsSummary.XSL 文件。
使用 XML 到 XSLT 转换,我们生成 HTML 输出
XslTransform myXslTransform;
myXslTransform = new XslTransform();
myXslTransform.Load("MetricsSummary.xsl");
myXslTransform.Transform(outputXML, outputfolder + "\\" + output);
摘要报告如下所示
关注点
整个想法是跟踪大型项目的可维护性指标,并以易于理解的 HTML 格式轻松展示数据。
下一步是创建一个 MSBuild 项目,它可以执行所有任务,例如代码覆盖率、代码分析、代码指标、MSTest,并生成报告。
如果您觉得这有帮助,请投票。