优化下面代码结构 if(StringUtils.hasText(status)){ if (status.equals("正常")){ lockStatus.add(findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), NOT_LOCK)); }else if(status.equals("已锁定")) { lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), ON_LOCK) ); lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), LOCK_BY_PERSON) ); lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), LOCK_BY_NOT_LOGIN) ); }else { return Result.failure("参数错误"); } }
时间: 2024-03-10 12:45:02 浏览: 117
优化代码
可以将多个重复的 RedisKeyEnums.USERLOCKSTATE.getCode() 提取出来,避免多次重复调用,可以使用 switch 语句代替 if-else 语句,代码如下:
```
if (StringUtils.hasText(status)) {
String code = RedisKeyEnums.USERLOCKSTATE.getCode();
switch (status) {
case "正常":
lockStatus.add(findCodeByInfo(code, NOT_LOCK));
break;
case "已锁定":
lockStatus.add(findCodeByInfo(code, ON_LOCK));
lockStatus.add(findCodeByInfo(code, LOCK_BY_PERSON));
lockStatus.add(findCodeByInfo(code, LOCK_BY_NOT_LOGIN));
break;
default:
return Result.failure("参数错误");
}
}
```
这样做可以使代码更加简洁易懂,也可以避免多次重复调用 RedisKeyEnums.USERLOCKSTATE.getCode()。
阅读全文