1.避免深层嵌套的if语句
使用 if return 代替 嵌套 if
if (条件1) { // 条件1成立时的执行代码 if (条件2) { // 条件1且条件2成立时的执行代码 } else { // 条件1成立但条件2不成立时的执行代码 } } else { // 条件1不成立时的执行代码 } 推荐写法: // 清晰的嵌套if示例 public boolean validateTransaction(User user, double amount) { if (!user.isLoggedIn()) { return false; } if (amount <= 0) { return false; } return user.getCreditScore() >= MIN_CREDIT_SCORE; }2.多使用空指针判断,能避免绝大数程序问题
- 方法的入口,对传参进行空指针判断;
- 接收方法的返回值,要进行空指针判断;
- 调用方法之前,调用方要对入参进行空指针判断;
- 对象级联调用,如a.getB().getC();需要对a和 getB()的返回值进行控制着判断;
- 从集合中获取的如果是对象,要进行空指针判断,搞不好里面就被塞了一个空对象。
3.判断字符串是否相等,建议使用StringUtils.equals()
- 省去外部的空对象判断逻辑
- 里面比较逻辑性能更高