嵌套的条件分支语句绝对是代码维护者的噩梦,对于阅读代码的人来说,嵌套的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';}
所以合理的反转判断 利用卫语句 就可以很好的优化代码。