gpt4 book ai didi

c# - 使用 NDepend 查看代码指标的趋势

转载 作者:行者123 更新时间:2023-11-30 14:37:29 27 4
gpt4 key购买 nike

我有一个用于构建服务器的 NDepend 版本,并已自动生成 NDepend 报告。因此,每天晚上构建都会完成它的工作并生成 NDepend 报告/XML。我现在想做的是跟踪一些指标随时间的变化。

因此,例如,在 y 轴上绘制特定类型或命名空间的图形(例如传入耦合),x 轴上显示时间可能会很好。我知道我可以比较两个 NDepend 构建并具有代码和指标差异,但我想要做的是比较相同的单一指标或 N 个构建的指标以查看持续趋势。

我假设目前没有一种工具可以执行此操作,我将不得不推出自己的工具,但如果有的话,我很乐意在投资前了解一下时间。那么,NDepend 本身是否支持这样的东西,或者是否已经存在某种我可以使用的实用程序?

除了 NDepend 之外,我也乐于接受有关其他技术的建议,尽管我对 NDepend 有强烈的偏好,因为我已经对它进行了投资并且熟悉它的工作原理。

提前致谢。

最佳答案

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

提供了几个默认代码规则来限制代码度量趋势:

关于c# - 使用 NDepend 查看代码指标的趋势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231347/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com