卫语句¶
卫语句就是把复杂的条件表达式拆分成多个条件表达式,减少嵌套。嵌套了好几层的 if - then-else 语句,转换为多个 if 语句,实现它的逻辑,这多条的 if 语句就是卫语句。
卫语句将某些关键条件优先判断,简化程序流程走向。卫语句往往用于对 if 条件嵌套代码的优化。
在《阿里巴巴 Java 开发手册》中强制规定:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,其中卫语句即代码逻辑先考虑失败、异常、中断、退出等直接返回的情况,以方法多个出口的方式,解决代码中判断分支嵌套的问题,这是逆向思维的体现。
举例¶
嵌套的话语句很繁琐,可读性差:
public void get(int t) {
if (t == 1) {
return;
} else {
if (t == 2) {
return;
} else {
if (t == 3) {
return;
} else {
set();
}
}
}
}
使用卫语句:
public void get(int t) {
if (t == 1) {
return;
}
if (t == 2) {
return;
}
if (t == 3) {
return;
}
set();
}