不使用else
提前 return
比如有代码:
public int fibonacci(int n){
if(n <= 2){
return 1;
}else{
return fibonacci(n-1) + fibonacci(n-2);
}
}
尽量写成:
public int fibonacci(int n){
if(n <= 2){
return 1;
}
return fibonacci(n-1) + fibonacci(n-2);
}
把可使流程提前中断的代码块(return, throw excetion, continue …)放到 if 中, 提前中断代码。
线性罗列
将多层 if 嵌套的语法写成线性的,就像写规则一样将其一条条罗列出来,比如:
public boolean match(int age, int salary, int pretty) {
if(age > 18){
// do something A;
if(salary > 5000){
// do something B;
if(pretty == true){
return