优化代码中的问题,简洁的代码 @Override public boolean findUserInfoByIdAndName(int age, String name) throws Exception { if (StringUtils.isEmpty(name)) { throw new Exception("用户名不能为空"); } if (age == null) { throw new Exception("年龄不能为空"); } final Integer MIN_AGE = 18; final Integer MAX_AGE = 120; if (age < MIN_AGE || age > MAX_AGE) { throw new Exception("年龄必须大于18且小于120"); } UserInfo userInfo = deviceInfoMapper.findUserInfoByIdAndName(name, age); if (userInfo == null) { throw new Exception("未找到符合条件的用户信息"); } return true; } }
时间: 2024-01-28 20:03:43 浏览: 63
可以优化的地方如下:
1. 可以使用Java8的Optional类来避免null的判断,也可以使用Objects.requireNonNull方法来抛出空指针异常。
2. 可以在方法签名中使用基本数据类型,而不是其包装类型。
3. 可以使用自定义异常类来替换Exception,以便更好地描述错误原因。
4. 可以使用静态导入来简化代码。
下面是优化后的代码示例:
```
@Override
public boolean findUserInfoByIdAndName(int age, String name) throws UserNotFoundException, InvalidParameterException, NullPointerException {
Objects.requireNonNull(name, "用户名不能为空");
if (age < 18 || age > 120) {
throw new InvalidParameterException("年龄必须大于18且小于120");
}
UserInfo userInfo = deviceInfoMapper.findUserInfoByIdAndName(name, age);
if (userInfo == null) {
throw new UserNotFoundException("未找到符合条件的用户信息");
}
return true;
}
```
注意,这个示例中的UserNotFoundException和InvalidParameterException需要自定义实现。
阅读全文