(转载)
一些常用的可维护性度量:
圈复杂度——措施代码的结构复杂性。
-它是通过计算程序流中不同代码路径的数量来创建的。独立路径的数量
-一个具有复杂控制流的程序将需要更多的测试,以实现良好的代码覆盖率,并将较难维护。
CC= E-N+2, CC=P+1, CC=面积数
代码行数:表示近似在代码的行数。
-一个非常高的计数可能表明一个类型或方法试图做太多的工作,应该被分割。
-它还可能表明类型或方法可能难以维护。
可维护性指数-计算索引0到100之间的值,表示相对易于维护的代码。
高价值意味着更好的可维护性。计算依据:
-霍尔斯特德体积(HV)
-圈复杂度(CC)
-每个模块的平均代码行数(LOC)
-每个模块的注释行百分比(COM)
继承的层次数:表示数量的类定义,扩展类层次结构的根。层次结构越深,就越难理解在哪里定义或/和重新定义了特定的方法和字段。
类之间的耦合度——措施通过独特的类的耦合参数、局部变量、返回类型,方法调用,泛型或模板实例化,基类,接口实现,装饰字段上定义外部类型和属性。