嵌套的条件分支语句绝对是代码维护者的噩梦,对于阅读代码的人来说,嵌套的 if else 语句相比平铺的 if else 在阅读和理解上更加困难。
重构前
function func(){
var result;
if(conditionA) {if( condintionB) {result = 'Success';} else {result = 'Error1';}
} else {result = 'Error2'}
return result;
}
重构后
function func(){if( !conditionA) {return 'Error2'}
if(!condintionB) {return 'Error1'}
return 'Success';
}
所以合理的反转判断 利用卫语句 就可以很好的优化代码。