方法:重构if-else时,心中无时无刻把握一个原则:尽可能地维持正常流程代码在最外层。意思是说,可以写if-else语句时一定要尽量保持主干代码是正常流程,避免嵌套过深。 如何重构:减少嵌套、移除临时变量、条件取反判断、合并条件表达式等。
下面举if...else重构if的实例:
int num1=10
int num2=1;
int Max1=0
if(num1>num2){
max=num1;
if(num1<num2){
max=num2
}
}
先把Max=0改为Max=num2
int num1=10
int num2=1;
int Max1=num2
if(num1>num2){
max=num1;
if(num1<num2){
max=num2
}
}
这时我们会发现还存在重复,我们去掉重复部分
int num1=10
int num2=1;
int Max1=num2
if(num1>max){
max=num1;
这样就搞定了。
if..else重构到if
int num1=10
int num2=1;
int Max1=0
if(num1>num2){
max=num1;
} else
max=num2;
我们只要把else改为if(num1>num2)即可