@Override public boolean findUserInfoByIdAndName(@RequestParam Integer name, @RequestParam String age) throws Exception { if (name == null) { throw new Exception("用户名不能为空"); } if (age == null) { throw new Exception("年龄不能为空"); } String ageStr = "18"; if (age < 120) { return true; } throw new Exception("年龄必须大于18且小于120"); UserInfo userInfo = deviceInfoMapper.findUserInfoByIdAndName(name,age); if (userInfo == null) { throw new Exception("未找到符合条件的用户信息"); }优化下面的代码
时间: 2024-01-28 10:03:43 浏览: 79
以下是对该段代码的一些优化建议:
1. 参数校验可以使用注解@NotBlank和@NotNull来简化代码。
2. 年龄的判断可以改为使用Integer类型进行比较。
3. 异常信息可以封装成常量或枚举类型,方便维护和修改。
4. 代码中有一行无法执行到的语句,应该进行删除。
优化后的代码如下所示:
```
@Override
public boolean findUserInfoByIdAndName(@NotBlank(message = "用户名不能为空") Integer name,
@NotNull(message = "年龄不能为空") Integer age) throws 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;
}
```
阅读全文