问题描述
解决方案
首先,你的if内层分支过多,可以用switch替代,并且抽取成一个方法;其次,你的if(isContinue)可以与外层的if条件合并的。
参考优化代码如下:
boolean isTokenOk = tokenCheck.equals(token);
if(isTokenOk&&isContinue){
obj = orderStatusService.updateOrderStatus(orderStatus,actionId);
printActionInfo(actionId);
}else {
obj.setStatus(1);
if(isContinue){
obj.setMsg("当前状态与上级状态不匹配,无法修改");
}else{
obj.setMsg("校验不通过");
}
}
抽取方法if分支方法如下:
printActionInfo(int actionId){
switch(actionId){
case 20:
//
break;
case 30:
//
break;
case 40:
//
break;
case 50:
//
break;
}
}
解决方案二:
if判断太多了,用switch
解决方案三:
用map将你的ID和对应的信息做个映射,然后那一堆if else变成从map里面去信息出来打印就行了
时间: 2024-10-02 03:30:36