2022.09.22CodeReview
## 2022.09.22CodeReview
Hi,我是阿昌,这次是针对近期开发需求下来,codeReview总结下来的一些注意点
- [
方便维护
]涉及需要转换的业务数据时(如正品库存等..),因直接从底层修改,或者走一个方法做数值转换,而不是每个使用的地方都进行单独扣减,不利于后续维护开发 - [
代码可读性
]针对分库分表查询时,直接使用对应枚举,虽然针对数据库不会改变库名/表名,直接使用枚举可以增加代码的规范和可读性 - [
性能问题
]不要上来就就使用大事务,会有存在锁表或性能问题,无需进行事务控制的地方,应合理评估事务的大小,判断是使用方法维度的声明式事物@Transactional还是可以选择transactionTemplate代码块维度的事物,来进行合理控制事务的粒度 - [
方便维护
]针对需要执行封装的方法命名应该明确对应执行的目的,例如判断使用predicate;构建对象采用build;方法真正执行的业务逻辑可以用doXXX等命名规则,方便见名知意 - [
方便维护
]评估是否需要封装成工具类,获取用户某个设置是否开启,则无需再每个调用地方都写获取用户设置,在判断某个设置是否开启,而是走工具类,直接返回Boolean来控制是否开启,代码会更加简洁 - [
代码性能/方便维护
]当使用stream流时,留意是否可以有更好的stream流使用方案 - [
代码性能/方便维护
]对于新开发页面,应进行关键步骤打印对于日志,来控制执行情况,便于后续刚上线时出现问题的排查,并评估业务日志打印量来,针对后续跟进情况下掉对于日志,来减少磁盘的储存压力 - [
性能问题
]判断当前业务的数据是否可以不进行数据库查询,减少性能开支 - [
性能问题
]避免for循环的做数据库查询操作