13:把代码分割成更小的代码块
提炼功能方法,并清晰其命名。
14:避免方法入参过多
可以把入参封装成对象,在修改接口时,调用接口不需要修改代码来兼容。
15:尽量不要用标志(flag)参数来控制逻辑,这样违反职责单一原则; (保留意见)
但如果在同一个类里面,而且同时被调用,则可以使用
if(flag){
逻辑1
}else{
逻辑2
}
如果多个if else 是根据某个参数是否为null 则可以把 if else 里面的逻辑抽取成方法,这样不容易用错
16:方法内代码块职责设计要单一;(保留意见)
if(!StringUtils.isBlank(name)){
userMapper.selectUserByName(name)
reeturn user!=null;
}
拆分成 boolean checkUserIfExistingByname(string);
17:移除过深的嵌套层次(针对if else swithc-case 可以大致了解即可,后面可以用多态或者设计模式解决)
1:调整执行顺序:先判空,再正常;
2:提前退出嵌套:可以 return 或 break 或 continue 则优先走这里的逻辑
3:去除多余判断语句 : 判断条件尽快能合并
4:代码简洁:复杂的逻辑判断尽量抽取
18:学会使用解释性变量:
常量代替魔法值:privat static final Double PI =3.1415
解释性变量代替判断逻辑:
boolean isSummer = date.aft(SUMMER_START)&&date.before(SUMMER_END)
网友评论