我有一个用于构建服务器的NDepend版本,并自动生成NDepend报告。因此,每天晚上构建都会完成它的工作,并生成NDepend报告/XML。我现在想要做的是跟踪一些指标作为时间的函数。
因此,例如,在y轴上有一个特定类型或名称空间的图,比如说传入耦合,在x轴上有时间,这可能是很好的。我知道我可以比较两个NDepend版本,并有代码和指标的差异,但我希望做的是比较N个版本上相同的一个或多个指标,以了解正在进行的趋势。
我在某种程度上假设,目前还没有一个工具可以做到这一点,我将不得不推出我自己的工具,但如果有的话,我当然希望在投入时间之前先听听它。那么,NDepend本身是否支持这样的东西,或者是否有某种已经存在的实用程序可以供我使用?
除了NDepend之外,我还对其他可以实现这一目标的技术的建议持开放态度,尽管我对NDepend有强烈的偏好,因为我已经对它进行了投资,并且熟悉它的工作原理。
提前谢谢。
发布于 2012-02-12 11:41:44
使用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 }...and在Visual Studio中获得即时结果。这样规则可以集成到CI TFS build process中,也可以显示在HTML+javascript report中。

提供了几个默认的代码规则来限制代码指标趋势:
https://stackoverflow.com/questions/9231347
复制相似问题