健壮性是指程序可以适应正常和非正常的运行环境,都可以正确地运行;随着业务量的增加,不会出现阻塞和不可用的情况(官方概念)。
健壮性的运用:
对比过来,就是如果一个程序很健壮,那么他在遇到感冒的时候(比如,想要打开的文件不存在),也能够很快恢复(处理异常情况,输出错误信息等),然后继续运行下去,而不至于一遇到感冒就die了。
正常运行的代码.首要追求高效性
这个"高效性"如果从逻辑的角度来解释,那么一方面是"高效"地对正确的数据执行正确的算法(方法/策略),另一方面是"高效"地找出异常,然后丢给异常处理代码去处理.
处理异常的代码.首要追求健壮性.
就是程序必须能从异常中自我恢复.由于代码多数时间跑的是"正常"逻辑,少数情况下才不得不处理"异常",所以"异常"处理的代码中,首要任务是健壮,跑不死,而高效性则是次要的.
//或者使用try catch 方式 if (判断传入参数的类型是否匹配) { //"正常运行代码" //匹配,走正常处理流程, 直接把返回值传给上层逻辑处理 } else { //"异常处理代码" //不匹配,走异常处理流程,重新扫描传入的数据,或者给出提示 }
健壮性的运用:
Bool型,也会有代表实际结果的Str或者Int等类型。这样的函数在外部调用时痛苦非常,因为在函数调用后处理时,处理不当就会出现typeError,所以在函数编写前,要思考后本函数的作用,同时确定返回值类型,在函数的所有涉及到返回结果时,给予一致类型的返回值,方便外部调用。
必要情况下的Try…Catch…处理
…Catch…出来处理异常是各种语言都有的模式。但到底在何处使用却有讲究。在没有抛异常的语句使用try语句,会降低性能,带来代码冗余,而在需要处理的语句未加异常处理,则会带来运行崩溃的可能。所以,要深刻的了解代码的语句,是否存在抛异常的可能,对可能抛异常的语言要加以处理。(这方面的介绍在下一篇实战博客中会进行讲解)
清理代码,去掉冗余代码
引用自"杀死那个进程"的博客'代码健壮性-理论篇':https://blog.csdn.net/zzh920625/article/details/50761058
文章来源: 代码健壮性浅析