- 【推荐】表达异常的分支时,少用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; }
- 【推荐】除常用方法(如 getXxx/isXxx)等外,不要在条件判断中执行其它复杂的语句,将复
杂逻辑判断的结果赋值给一个有意义的布尔变量名,以提高可读性。
说明:很多 if 语句内的逻辑相当复杂,阅读者需要分析条件表达式的最终结果,才能明确什么样的条件执行什么样的语句,那么,如果阅读者分析逻辑表达式错误呢?
正例:
// 伪代码如下 final boolean existed = (file.open(fileName, “w”) != null) && (…) || (…); if (existed) { …