自从开始工作到现在也有一年半了,也算个小菜鸡,刚开始工作受前辈影响,加上自己稍微的强迫症,对代码规范十分看重,如果代码是砖头的话,代码规范就是图纸,是图纸,是砌砖的方式,谁都不想自己家建的乱七八糟吧。
简单写写平时注意的规范吧,基本都是对照阿里规范来进行的,本文是通过阿里规范认证之后写的,算是对之前一直遵循的规范和阿里规范学习的一个总结吧
1,千万不要在代码中成段的注释代码,不要的代码删了就是了,留着过年啊,一页的代码,大部分注释掉,然后中间穿插可执行代码,简直没法看。当然阿里规范有一条是自己之后会用到的,加///注释掉,这个是基于没提交过仓库的代码,如果是以前仓库提交过的,不用的,也直接删掉,想找回直接在仓库中找回。
2,参数封装POJO类,方便参数扩展和可维护。
举例:
public String get(Integer a, Long b, Integer c, String d, String e, Integer f, String g,
String h, String i, Integer g, String k) throws IOException {
这种代码完全不知道,入参是什么,估计只有开发人员知道了,可维护性太差。
3,try-catch,只封装可能出现RuntimeException的地方,不要图省事成片catch,成片catch也无所谓,最怕那种不try-catch,还有catch中,加错误日志,打入参和异常栈,不要直接打e.getMessage(),更有甚者,直接e.printStackTrace();,要不报错都没法查,也可以用ExceptionHandler注解来catch RuntimeException。还有接口错误信息不要把异常栈直接传给调用方,传给调用方是想着让调用方给你查bug还是怎么,还有的接口是直接给前端用的,把异常栈信息传出去就要被笑话了。
4,使用卫语句,经常看到别人写的代码,if else五六层,简直了,卫语句很好的解决了这个问题。
5,多用ctrl+alt+m,提方法,别一个方法写那么长,让别人看不懂,一个方法长了,完全可以提子逻辑方法,主方法放子逻辑方法的调用,一眼就能知道子逻辑方法是干嘛的,很清晰。
6,提常量,不要代码中成篇魔数,让别人没法看,如果常量是一个范围,提枚举类,成篇的魔数直接让接锅的人崩溃。
7,多用Lombok,简化代码,看着爽
8,应用结构,一个好的应用结构,好比楼房,每层是干嘛的,更加合理,使得可读性和可维护性更高,可以参考阿里应用结构规范,个人喜欢api放参数校验,结果封装等,把逻辑交给service,dao放数据库相关操作。
9,注意防止NPE的产生,任何可能产生NPE的地方都要加判断
10,列表接口必须分页, 同时增加page size 过大校验。
代码规范最重要最重要的是code review,谁都会写垃圾代码,code review是垃圾代码的一道防线
阿里规范还有就是数据库的一些规范,建库建表,索引知识等,还有单元测试的,就先不写了,可以去看。
本文太多的细节没写,就先写自己第一时间想到的,以后有机会补充