我一直在使用PHPDepend来验证我写的代码的质量。 我不在低/平均列中的一个指标是平均层次结构高度指标。
pdepend.org上的定义是
“平均层次结构高度”度量标准是继承层次结构的平均深度。在十个类的系统中,AHH值为1可以用不同的方式解释,例如:五个类继承分析应用程序中的五个其他类,或者五个类继承自单个根类。
我的头脑只是没有抓住那句话所说的话,这意味着我正在努力弄清楚如何降低给出的分数。
答案 0 :(得分:1)
class A{}
class A1 extends A{} // 1 depth
class A11 extends A1{} // 2 depth
class A12 extends A1{} // 2 depth
class B{}
class B1 extends B{} // 1 depth
class C{}
class D{}
有4个根类A,B,C,D
总和为3。
AHH = 3/4 = 0.75
来自代码
if (($count = count($this->rootClasses)) > 0) {
$this->ahh = array_sum($this->rootClasses) / $count;
要降低此分数,您可以添加更多没有子项的根类(或低于最深的类)。或者减少层次结构的深度。