如何使用 NDepend 查看代码指标 lke Fan-In/Fan-Out

How to view Code Metrics lke Fan-In/Fan-Out with NDepend

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

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

我在它的官方网站上没有找到任何有用的说明,有人知道吗?

谢谢。

您可以编写 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 }

class

的加权​​法
from t in Application.Types
select new { t, t.CyclomaticComplexity }

class 个对象的耦合(根据 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 的代码规则,并保存规则以在您的 BuildProcess Visual Studio and/or 中执行它。

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