前言
当我们在编写代码时往往会因为没有考虑到一些情况而导致程序的崩溃,因此我们需要提升代码的健壮性。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是代码的健壮性?
代码的健壮性顾名思义就是一个代码抵抗干扰,比如说一些非法的输入,异常,还有一些意料之外的错误的能力。具有良好的健壮性的代码比起一般的代码运行更稳定,更不容易崩溃。
二、提升健壮性的方法
1.多用卫语句
当我们试图提升代码健壮性时,为了处理各式各样的非法输入,自然而然地会使用到更多的条件段语句。而很多时候,我们会使用到大量的嵌套语句,比如当我们判断某个数是否是a,b,c的公倍数的时候我们就难免会写成如下的形式:
if (num%a == 0) {
if (num%b == 0) {
if (num%c == 0) {
System.out.println(num);
}
}
}
return;
这样写的话首先是整体代码的结构很臃肿,其次是当我们的嵌套条件的数量一多的时候就很难判断各个条件之间的逻辑关系,不利于我们编写程序。 而当我们使用卫语句来编写时:
if (num%a != 0){
return;
}
if (num%b != 0){
return;
}
if (num%c != 0){
return;
}
System.out.println(num);
return ;
可以看到代码整洁了很多,而且各个条件之间相互独立了,这样更加方便我们独立考虑各种情况,从而更好地提升代码的健壮性。
2.合理布局函数返回值,保证函数返回值一致
之前很多时候写函数往往很随性,返回值类型可以能代表函数执行成功或者失败的Bool型,也会有代表实际结果的Str或者Int等类型。这样的函数在外部调用时候很难受,因为在函数调用后处理时,处理不当就会出现typeError,所以在函数编写前,要思考后本函数的作用,同时确定返回值类型,在函数的所有涉及到返回结果时,给予一致类型的返回值,方便外部调用。
3.去掉冗余的代码
很多时候,我们的代码都是迭代开发的。往往会罗列一些无用的函数,引入一些无用的类库。这些内容貌似无意义,但却是代码中的隐患。可能在后续的类库更新或者函数变更中爆炸。所以,代码要保持清理,对于无用的引用和定义,要加以清除。
总结
代码健壮性的思想:
(1) 正常运行的代码. 首要追求高效性
这个"高效性"如果从逻辑的角度来解释, 那么一方面是"高效"地对正确的数据执行正确的算法(方法/策略), 另一方面是"高效"地找出异常, 然后丢给异常处理代码去处理.
(2) 处理异常的代码. 首要追求健壮性.
就是程序必须能从异常中自我恢复. 由于代码多数时间跑的是"正常"逻辑, 少数情况下才不得不处理"异常", 所以"异常"处理的代码中, 首要任务是健壮, 跑不死, 而高效性则是次要的.