方法:重構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)即可