如果2条分支都是正常行为,就应该使用形如 if……else……的条件表达式;
如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。
这样的单独检查常常被称为“卫语句”。
为了减少嵌套多重if-else 带来的冗杂性,避免嵌套多重代码中一处发生异常而引起不易修改的麻烦。
int a = 5;
int b = 7;
if (a > b) {
System.out.println("不可能的!!");
return;
if (a < b) {
System.out.println("这才是正确的选择!!");
【推荐】表达异常的分支时,少用 if-else 方式,这种方式可以改写成:
if (condition) {
...
return obj;
}
// 接着写 else 的业务逻辑代码;
说明:如果非得使用 if()…else if()…else…方式表达逻辑,【强制】避免后续代码维
护困难,请勿超过 3 层。
正例:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,
其中卫语句示例如下:
public void today() {
if (isBusy()) {
System.out.println(“change time.”);
return;
}
if (isFree()) {
System.out.println(“go to travel.”);
return;
}
System.out.println(“stay at home to learn Alibaba Java Coding Guidelines.”);
return;
(此推荐来自阿里巴巴 Java 开发手册)