如何查看代码指标lke扇入/扇出与NDepend

时间:2016-05-01 01:50:54

标签: c# .net code-metrics ndepend

我已经安装了NDepend(14天试用版)作为Visual Studio 2015 Extension,现在可以使用了。

我想在我的解决方案中获得某些类的一些指标:

  • 标识符的长度
  • 扇入/扇出
  • 类的加权方法
  • 类对象的耦合

我没有从官方网站上找到任何有用的指示,有人知道吗?

感谢。

1 个答案:

答案 0 :(得分:5)

您可以编写C# LINQ code queries来获取您需要的几乎任何代码指标。

标识符长度

from t in Application.Types
select new { t, t.SimpleName.Length }
扇入/扇出

from t in Application.Types
select new { t, t.TypesUsed, t.TypesUsingMe }

类的加权方法

from t in Application.Types
select new { t, t.CyclomaticComplexity }

类对象的耦合(根据this definition

from n in Application.Namespaces
let NumberOfClasses = n.ChildTypes.Count()
let NumberOfLinks = n.ChildTypes.SelectMany(t => t.TypesUsed).Distinct().Count()
select new { n, CBO = NumberOfLinks / (float)NumberOfClasses  }

然后,您可以将代码查询转换为前缀为warnif count > 0的代码规则,并保存规则以使其在Visual Studio和/或BuildProcess中执行。

// <Name>Type name shouldn't exceed 25 char</Name>
warnif count > 0
from t in Application.Types
where t.SimpleName.Length > 25
orderby t.SimpleName.Length descending
select new { t, t.SimpleName.Length }

enter image description here