面向对象设计的指标与要点解析
1. 面向对象设计指标概述
面向对象设计(OOD)与面向功能设计在基本范式上存在根本差异,这带来了不同的构建模块和相关概念,模块化的定义也随之改变。因此,需要一套新的指标来评估面向对象设计。以下是一些用于评估面向对象设计复杂性的指标:
1.1 加权方法数(Weighted Methods per Class, WMC)
- 定义 :一个类的开发工作量在某种程度上取决于该类的方法数量和方法的复杂度。加权方法数(WMC)指标结合了方法数量和方法复杂度,用于估计类的整体复杂度。假设类 C 有方法 M1, M2, …, Mn,方法 Mi 的复杂度为 Ci,WMC 定义为所有方法复杂度之和:$\sum_{i = 1}^{n} C_i$。如果每个方法的复杂度都视为 1,WMC 就是类中的方法总数。
- 实际情况 :对现有程序的评估数据显示,大多数类的方法数量较少,这意味着大多数类比较简单,提供特定的抽象和操作。分析表明,WMC 与类的易出错性有合理的相关性,WMC 越大,类越容易出错。
1.2 继承树深度(Depth of Inheritance Tree, DIT)
- 定义 :继承是面向对象范式的独特特征之一,也是面向对象设计中重用的主要机制。继承树深度(DIT)用于量化继承,类 C 在继承层次结构中的 DIT 是从继承树的根类到该类的深度,即从树的根到表示 C 的节点的最短路径长度或 C 的祖先数量。在多重继承的情况下,DIT 是从根到 C 的
超级会员免费看
订阅专栏 解锁全文
85万+

被折叠的 条评论
为什么被折叠?



