代码评审

代码评审 总体问题 强制:未安装alibaba代码规范插件或者未处理插件所提示的警告信息,比如文件头部没有@auther信息 强制:代码中输出必须使用logger框架,不允许使用System.out或者System.err 建议:spring基于field的注入已经不建议使用,尽量使用setter方式注入 建议:查询参数的DTO以Query结尾,比如UserQuery而不是使用UserParamsDTO,参考阿里DTO定义规范 强制:新增和更新判断依据是id == null || id == 0,id不可能小于0,所以不要做小于0的判断 强制:所有的Collection.size()不可能小于0,所以只需要做非空判断就可以 强制:所有循环外面的Collection.size() > 0判断去掉,没有意义,禁止出现下面的代码 if (list.size() > 0) { for (int i = 0; i< list.size(); i++) { // do something }} 强制:所有StringUtils只使用commons-lang或者spring的,不要使用其它厂商的,比如dubbo 强制:java文件中不允许出现没用的import引入,手动或者使用idea快捷键删除 强制:不允许出现先new对象,然后接着把方法返回值赋给这个对象,比如以下代码 List list = new ArrayList();list = service.findAll(); 强制:使用枚举的valueOf()方法时,必须catch异常 建议:服务中private方法也要加上相应的注释 强制:如果服务抛异常,不允许直接抛Exception,要自己在-api中定义Exception或者调用别人定义好的Exception 强制:实体中除了id以外,其它属性不允许使用简单类型具体问题 common项目 包的命名规范common项目中包名禁止出来iot business-api和business-provider中的iot去掉 禁止出现直接以impl命名的包,比如custome-provider项目中的com.toplion.customer.impl com.toplion.iot.business.service.BusinessServiceImpldemo方法未删除也未加todo标记 createIdentity方法中,xpath设置先声明变量再进行设置 department-provider中有两个Department对象,对应的表名都是sys_department,为什么? com.toplion.iot.department.service.DepartmentServiceImplsave方法和delete方法,对于已经明确的枚举类型,禁止使用valueOf()进行转换 Unit表中xpath的长度可能不够 user-provider项目User表中对应的accountId是uuid,所以类型是String,长度是36;民族和政治面貌命名有问题 User表与我设计的用户表有些字段对应不上 com.toplion.user.unit.service.UserUnitServiceImplcountByUnitAndUserType方法iot项目 calculate-provider项目中,很多属性是枚举,数据库设计时用的tinyint,需要修改