条件分支的处理
程序中if...else分支可以说是最常见的逻辑处理语句,通常简单的处理方式是
====================
if(do1()){
//do1 ok
if(do2()){
//do2 ok
//do some other thing
}else{
//handle do2 failure
return DO_2_FAILED;
}
}else{
//handle do1 failure
return DO_1_FAILED;
}
====================
这样长此下去,程序中就会出现大量的分支,嵌套层次过深,对于理解和测试都不利,对于这种情况可以将分支条件简化一下,对于每一个异常结果在第一时间处理,比如转化成这样
====================
if(!do1()){
//handle do1 failure
return DO_1_FAILED;
}
//do1 ok
if(!do2()){
//handle do2 failure
return DO_2_FAILED;
}
//do2 ok
//do some other thing
//...
====================
这个处理流程与第一个例子是等价的,但能每处理完一个异常情况接下来都是正常的流程,保持主体业务流程在程序主体中,程序结构清晰易懂,嵌套结构浅会省去不少麻烦