java代码重构总结1
来源:互联网 发布:网络群发器 编辑:程序博客网 时间:2024/06/07 12:18
一、返回值优化处理(1)
待优化代码如下:
ResultData resultData = ResultDataUtil.errorResult(RetInfoConstants.QUERY_USER_REPAYMENT_RECORD_EXC); //初始化有异常的赋值try { if(假设成立){ resultData = ResultDataUtil.errorResult("返回错误resultData"); // 假设该段逻辑含有返回值,但是没有返回,所以下面的返回值会覆盖掉该返回值,造成预期结果不一致 } resultData = RepPlanService.me.getRepaymentTake(xxxx); // 没有异常的赋值} catch (Exception e) { logger.error("xxxxxxxxxx", e); ExceptionLogService.me.saveException(xxxxxxx, "xxxx", e.getMessage());}return resultData;
优化后代码如下:
try { if(条件){ return ResultDataUtil.errorResult("返回错误resultData"); // 返回错误的resultData } return RepPlanService.me.getRepaymentTake(xxxx); // 返回正常的resultData} catch (Exception e) { logger.error("xxxxxxxxxx", e); ExceptionLogService.me.saveException(xxxxxxx, "xxxx", e.getMessage()); return ResultDataUtil.errorResult(RetInfoConstants.QUERY_USER_REPAYMENT_RECORD_EXC); // 返回异常的resultData}
优化说明:resultData为返回值;① resultData尽量不需要初始化,赋值操作应该让需要赋值的地方进行赋值。好处:逻辑清晰,IDE能够检测到分支是否都赋值完成。
二、返回值优化处理(2)
待优化代码如下:
ResultData resultData = null;try { if(a == 1){ resultData = ResultDataUtil.errorResult("xxx"); // 返回错误的resultData }else{ resultData = ResultDataUtil.successResult("xxx"); // 返回正常的resultData }} catch (Exception e) { resultData = ResultDataUtil.errorResult("xxxxx");}return resultData;
优化后代码如下:
ResultData resultData;try { if(a == 1){ resultData = ResultDataUtil.errorResult("xxx"); // 返回错误的resultData }else{ resultData = ResultDataUtil.successResult("xxx"); // 返回正常的resultData }} catch (Exception e) { resultData = ResultDataUtil.errorResult("xxxxx");}return resultData;
优化说明:resultData不需要赋初始值,尽量依赖IDE去检查是否有返回,没有IDE将会在编译之前报错,有利于检查各个分支是否有有赋相应的值
三、if else优化
(1) if else尽量少嵌套
待优化代码如下:
if (null != vo) {amount = vo.getAdvanceBalance();if(amount != null && amount.compareTo(zero) > 0){return this.doSomeThing(appId, loanOrder.getBusCode(), amount, certId, mobile, customerId);}else{return ResultDataUtil.result(RetInfoConstants.RET_CODE_4001, RetInfoConstants.APPLYPAY_BUSAMT_LESS_ZERO_MAG);}} else {return ResultDataUtil.result(RetInfoConstants.RET_CODE_4000, RetInfoConstants.APPLYPAY_BUSAMT_EXC_MAG);}
优化后的代码如下:
if (null != vo) {amount = vo.getAdvanceBalance();if(amount != null && amount.compareTo(zero) > 0){return this.doEarlyRepay(appId, loanOrder.getBusCode(), amount, certId, mobile, customerId);}return ResultDataUtil.result(RetInfoConstants.RET_CODE_4001, RetInfoConstants.APPLYPAY_BUSAMT_LESS_ZERO_MAG);}return ResultDataUtil.result(RetInfoConstants.RET_CODE_4000, RetInfoConstants.APPLYPAY_BUSAMT_EXC_MAG);优化说明:去除不必要的else
四、model设值尽量使用构造函数完成设值
待优化的代码如下:
public OrderRecord setOrderRecord(){OrderRecord orderRecord = new OrderRecord();orderRecord.setRepayStatus(order.getRepayStatus());orderRecord.setAppId(SignUtil.getStrId(order.getAppId()));orderRecord.setProductName(order.getProductName());orderRecord.setAppStatus(order.getAppStatus());.....}
优化后代码如下:
new OrderRecord(repayStatus, appId, productName, appStatus, null, null, null, null, null, null, null,null,null)
阅读全文
0 0
- java代码重构总结1
- java代码重构方法总结
- 重构代码总结
- java 代码重构
- java代码重构
- Java代码重构
- Java代码重构第一步
- 【JAVA】代码重构技巧
- java代码重构------代码艺术
- C#代码重构技巧总结
- 机房重构总结--代码篇
- 代码重构-总结 前辈的重构经验
- java list<泛型> 一行代码实现去重方式总结
- java代码重构【修改了版面】
- oracleday10(对java代码重构)
- java if else嵌套代码重构
- java代码防重
- 代码重构(1)
- 群论学习之A5群中[5]类和[311]类和[221]类和[11111]类都有多少个?
- POJ
- .NET Core 2.0迁移技巧之web.config配置文件
- MFC中绘制动态曲线
- MyBatis框架解决字段名与实体类属性名不一致的情况
- java代码重构总结1
- [bzoj2818]Gcd 欧拉函数
- Java排序算法
- JasperReport| JasperReport Studio操作(中)
- (转)gzip文件格式详解
- 古文觀止卷八_与陳給事书_韓愈
- LeetCode 169. Majority Element(Python)
- 函数指针
- Unity入门操作_ 摄影机_019