我们有一个庞大的代码库,其中具有太多局部变量的方法仅返回226个方法。我不希望将这个巨大的表转储到xml输出中以使其杂乱无章,如果可能的话,我希望排名前10位,但是我真正想要的是计数,以便我们能够进行趋势和执行摘要。是否有一种干净/有效/可扩展的非hacky方法来做到这一点?

我想我可以使用可执行任务,而不是ndepend任务(这样合并不是自动的),并且不会被混乱。然后手动操作这些文件以获取摘要,但是我想知道是否有较短的路径?

最佳答案

defining a base line to only take account of new flaws呢?

我真正想要的是计数,因此我们可以进行趋势和执行摘要

可以通过LINQ(CQLinq)上的代码查询和规则轻松实现趋势,例如:Avoid making complex methods even more complex (Source CC)

// <Name>Avoid making complex methods even more complex (Source CC)</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0
from m in JustMyCode.Methods where
 !m.IsAbstract &&
  m.IsPresentInBothBuilds() &&
  m.CodeWasChanged()

let oldCC = m.OlderVersion().CyclomaticComplexity
where oldCC > 6 && m.CyclomaticComplexity > oldCC

select new { m,
    oldCC ,
    newCC = m.CyclomaticComplexity ,
    oldLoc = m.OlderVersion().NbLinesOfCode,
    newLoc = m.NbLinesOfCode,
}

Avoid transforming an immutable type into a mutable one

10-07 12:38