目录
1.一定要写注释
- 注释 格式建议 xxx场景,对xxx进行xxx操作
- 对某些文件做操作的话,建议用中括号括起来,可增加注释可读性(【xxx文件】)
- 写注释的好处:后续维护代码会变得简单,不用再梳理业务
2.一定要加日志
- 格式跟注释差不多一样,xx场景下、做什么操作。如下示范
//方法开始与方法结束都打log
log.debug("开始==交易商确认盖章,质押申请单号:[{}],盖章实体:[{}]",pledgeApplicationNo, JSONObject.toJSONString(sealFileList));
log.debug("结束==交易商确认盖章,质押申请单号:[{}] ",pledgeApplicationNo);
- 写log的好处:1、结合注释可以更好的理解代码,不用从某个功能重头开始梳理;2、遇到程序出错也很快定位到错误地方已经当时使用的参数数据值,从而节省大量的调试时间。
3.Java方法需要注意的地方
- 类名与方法名:写方法时建议用项目统一词根表里的英文单词命名方法,因为人的记忆都不是特别好,当你相隔几个月或者半年再次看自己代码也会忘记方法的职责是什么,这时候注解加命名习惯好处就体现出来了;
- 传递参数优化:对于方法不允许传空的数据使用@NonNull、@NotBlank、@NotEmpty;
- 方法参数需要加注解,可以更好表达当前方法做的操作,方便项目后期对代码维护或者重构
/** * 修改申请表状态 * * @param No 质押申请单号 * @param updStatus 目标状态 * @param currentStatus 当前状态 * @param List 不为空:盖章 空:不盖章 */
- 要对多参数方法重构:首先看一下我下列的方法:
首先注释没有很好解释当前在做什么,然后没有打log,方法参数也特别多,方法中传入了很多状态值,这样写就会造成代码非常难以理解,不知道为什么传入这些参数,还有一些参数不知道为什么不传了。这时候就会加大后期维护难度,所以需要对代码进行重构!
重构可以围绕这几点:
1、根据某个角色在某个场景做的操作进行抽取一层方法(参数相同)进行统一参数管理,
2、命名根据当前项目统一要求词根表来命名,方法加注释,参数也要加注释
3、方法开始、结束打log.debug()
4、涉及数据库修改状态的sql,建议加一个当前状的条件做更新操作
例如上面是我找到的项目中有6处重复,就可以对方法进行重构 重构后: /** * 因(角色) ,(xx业务)驳回,从而改变 xx单表 状态 * * @param pledgeApplicationNo 质押申请单号 */ public void finDeptRejectFinServApply(@NonNull String pledgeApplicationNo) { log.debug("开始==(当前角色) (驳回xx申请):【{}】", pledgeApplicationNo); //(这里也需要再解释当前操作)修改申请表状态为xxx角色通过 ,不做盖章处理 editTransferDocket(dtoList, pledgeApplicationNo, null,TRANSFER_DOCKET_APPROVE_STATUS2, TRANSFER_DOCKET_APPROVE_STATUS14, IS_STAMP1); log.debug("结束==当前角色) (驳回xx申请):【{}】", pledgeApplicationNo); }