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