代码codeReview思路
代码优化部分
1. 建议把无任何引用的东西去掉,例如
2. 不要出现魔法值。例如:
‘
解决思路:设置全局常量或者全局的枚举类。
3. 关于BeanUtils.copyProperties的效率问题:
当程序响应效率要求比较高时,要减少copy的使用,这个效率一般比get、set方法慢100倍左右。建议:能不copy尽量不copy。关于mapStruts底层也是去挨个复制值,效率依然不如set、get方法。
在字段少的情况下,用get、set。实在太多了,可以偷下懒。但是后面在做性能优化的时候,这里是个可优化的点
4. 这种突然出现的字段,把注释写清楚,例如:
5. 代码禁止返回实体类,为了数据安全:请求要建requestDTO(参数需要按需进行校验:空值校验,格式校验,正则校验等),返回要建responseDTO,例如:
6. 很多DTO对象或者entity没有序列化,
关于序列化的作用:保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来
关于序列化的好处:把一个对象完全转成字节序列,方便传输。Java的序列化是可以完全还原的。
7. 关于日志打印
一个接口流程比较多或者关键性节点比较多时,在打印日志的时候,建个公共头,查看日志时方便进行关键字搜索。
8. 关于判断参数值是否相等:
必须用常量去equals变量,而不是变量equals常量(变量equals常量在变量为空的情况下,会抛空指针异常)。
9. 每个接口都是需要抛异常的。
10. 对接三方接口或者流程复杂的接口,一定需要try{}catch{}
11. 关于代码封装,提取公共代码和提取公共方法