首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NDepend查看代码度量的趋势

使用NDepend查看代码度量的趋势
EN

Stack Overflow用户
提问于 2012-02-11 00:41:13
回答 1查看 399关注 0票数 3

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

因此,例如,在y轴上有一个特定类型或名称空间的图,比如说传入耦合,在x轴上有时间,这可能是很好的。我知道我可以比较两个NDepend版本,并有代码和指标的差异,但我希望做的是比较N个版本上相同的一个或多个指标,以了解正在进行的趋势。

我在某种程度上假设,目前还没有一个工具可以做到这一点,我将不得不推出我自己的工具,但如果有的话,我当然希望在投入时间之前先听听它。那么,NDepend本身是否支持这样的东西,或者是否有某种已经存在的实用程序可以供我使用?

除了NDepend之外,我还对其他可以实现这一目标的技术的建议持开放态度,尽管我对NDepend有强烈的偏好,因为我已经对它进行了投资,并且熟悉它的工作原理。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-12 11:41:44

使用NDepend,您可以编写一个Code Query over LINQ (CQLinq)来匹配任何代码度量的演变。例如,您可以从查询开始:

代码语言:javascript
复制
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中。

提供了几个默认的代码规则来限制代码指标趋势:

  • Avoid making complex methods even more complex
  • Types that used to be 100% covered but not anymore
  • From now, all types added or refactored should respect basic quality principles
  • Avoid adding methods to a type that already had many methods
  • Avoid making large methods even larger
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9231347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档