可维护性与健壮性
一.些常用的度量指标
1.圈复杂度:圈复杂度大说明程序代码可能质量低且难于测试和维护
2.代码行数
3.可维护性指数(MI):0-100 利用公式计算
4.继承的层次数:层次越多越不好维护。CRP原则,尽量使用代理而不是继承。
5.类之间的耦合度
6.单元测试的覆盖度
二.正确性
健壮性具体指的是系统在不正常的输入或不正常的外部环境下仍能表现出正常的程度。也就是说如果你的程序健壮性不好,当别人使用的时候,输入的时候错误就会导致崩溃。
面向健壮性的编程有以下几点要求或优点:
1.处理未期望的行为和错误终止
2.即使终止执行,也要准确/无歧义的向用户展示全面的
3.错误信息错误信息有助于进行debug
三,正确性
这里谈一下与健壮性的区别:正确性是永不给用户错误的结果,而健壮性是尽可能的保持软件运行而不是总是退出。
对于程序得逻辑判断来说,测试和形式化证明的能力都是非常有限的。测试只能测试到最常用的情况,而无法覆盖所有的情况。一行代码被测试覆盖而没有出错,并不等于在那里不会出错。一行代码是否出错,取决于在它运行之前所经过的所有条件。这些条件的数量是组合爆炸关系,基本上没有测试能够覆盖所有这些前提条件。