日志注释相关
- 使用log打印日志的时候尽量不要写中文,避免乱码。
- log打印日志使用占位符。
log.info("This is an example! ===> {}", e);
log.info("Request XXX service. Request params ===> {}, Request result ===> {}", requestParams, requestResult);
常量相关
- 常量可以提到Nacos中或者常量类,枚举类中,方便后期维护和修改。写到Nacos中可以不用发版就可以修改常量值。
返回值相关
- 如果是给别人调用的接口,尽量统一接口返回结果,例如CommonResult类。如果没有返回结果,也要返回一个Boolean值,为了使调用方清楚是否调用成功。
- 返回值尽量不要用Map,不方便别人维护,可以封装成类返回。
数据库相关
POM文件
- pom.xml文件下方有一个Dependency Analyzer可以对已经引用的依赖及其版本进行全局搜索,如果已经存在所需要的依赖并且版本够用,就不要轻易给依赖升级版本了,容易对项目中其他的功能造成影响。
- 升级版本时,test环境要用SNAPSHOT方便更改,生产环境要替换成Release,一旦打包不可再修改。
其他但也很重要
- 查询到的数据都要做非空判断。
- 写代码要分块,标明每一块的具体含义,同时每个方法不能超过80行,最好控制在二三十行左右。
- 巧妙的使用return & continue,尽量使用断言的方式(只有if没有esle),减少if/else的存在。
- 带下划线的方法是废弃或者即将废弃的版本,哪怕现在可以正常使用也不要再用了,因为该方法后续不会再被维护甚至被删掉。
- 写代码避免头重脚轻,写if/else时,将大头放在else中方便反复阅读以及后续维护。
- 写代码的时候如果可以不遍历,尽量不要遍历,耗时!如果非要遍历也尽量选择数据少的集合。
- 能用set就少用list。因为list查找数据使用遍历的方式,时间复杂度为O(n),效率低;而set底层是HashMap,查找的时间复杂度是O(1),速度相对快一些。