“遗产深度”对方法意味着什么?

时间:2011-05-18 22:15:41

标签: c# visual-studio-2010 code-metrics visual-studio-power-tools

我刚刚安装了Visual Studio Power Tool for code analysisthe viewer for the results。顺便说一下,很棒的工具!

当我点击“分析解决方案”时,我得到了结果:

  • 可维护性
  • Cyclomatic Complexity
  • 继承深度
  • 类耦合
  • 代码行

我理解这些都意味着什么,除了,对于类中的每个方法,存在“继承深度”的不同值,并且对于该类,存在更大的值。

有没有人对这可能会说些什么有解释?

2 个答案:

答案 0 :(得分:5)

当每个派生类扩展前一个类时,它会添加其他功能。它可以添加先前基类中不存在的属性或方法。现在,方法的总集大于基类的方法集。当派生类再次派生时,可以重复此过程。

因此,如果您使用派生程度最高的类并选择方法A并将其跟随到首先实现A的基类,则可能是不同的更深比选择方法B并将其跟随到实现B的第一个基类的类。这就是为什么不同方法的继承深度可能不同。

如果你自己选择类,它有一系列清晰的基类和它自己的明确深度,与方法的深度无关,它们总是与类本身相同或更少。

答案 1 :(得分:3)

以下是对遗产深度的一个很好的解释(带图片!):

http://www.nayyeri.net/depth-of-inheritance-for-wpf-and-windows-forms-applications