检测应用程序中更改的影响

时间:2013-02-01 19:58:01

标签: code-metrics

我有一项任务,包括创建一种方法来检测应用程序中更改的影响。任何人都可以帮我一些指示吗?我不知道从哪里开始,需要有人让我走上正轨。

1 个答案:

答案 0 :(得分:0)

对于.NET平台,您可以使用工具NDepend来检测.NET应用程序中更改的影响(免责声明:我是此工具的主要开发人员)。

NDepend提供了编写C#LINQ查询以查询代码库的工具,还可以在两个不同版本的代码库之间查询差异。提供了约200 default LINQ queries(代码规则),您可以轻松编写自己的代码规则。

例如,下面的默认代码规则列出了两个版本之间变得更加复杂的方法:

// <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,
}

结果可以在Visual Studio或HTML + js报告中实时显示:

Diff complexity with NDepend

在规则组代码质量回归代码差异摘要中,许多其他默认代码规则将帮助您列出差异/更改对代码质量,代码结构的影响和代码可维护性。 A 14 days full featured trial is available for download