Robustness(健壮性)和 Correctness(正确性)

Robustness & Correctness?

1.健壮性

(1)定义:健壮性,系统在不正常输入或不正常外部环境下仍能够表现正常的程 

(2)面向健壮性的编程 :

        a. 处理未期望的行为和错误终止

        b.即使终止执行,也要准确/无歧义的向用户展示全面的错误信息 

        c.错误信息有助于进行debug

(3)健壮性原则:

       总是假定用户恶意、假定自己的代码可能失败;

       把用户想象成白痴,可能输入任何东西

       所以:

      对别人宽容点,对自己狠一点 

      对自己的代码要保守,对用户的行为要开放

(4)健壮性编程原则

          a.封闭实现细节,限定用户的恶意行为 

          b.考虑极端情况,没有"不可能" 

2.正确性

(1)定义:正确性,程序按照spec加以执行的能力,是最重要的质量指标!

3.正确性与健壮性比较 

(1)正确性:永不给用户错误的结果 

        健壮性:尽可能保持软件运行而不是总是退出 

(2)正确性倾向于直接报错(error)

         健壮性则倾向于容错(fault-tolerance)

(3) 正确性,让开发者变得更容易,用户输入错误,直接结束

          健壮性,让用户变得更容易,出错也可以容忍,程序内部已有容错机制

(4)对内的实现,倾向于正确 

         对外的接口,倾向于健壮;

你可能感兴趣的:(正确性,健壮性,java)