重构实践(2)

2021-10-25  本文已影响0人  墨_0b54

依旧是接口性能优化,查看调用过程后,发现大部分时间耗在服务间调用,其次是一个超多数据的查询。

  1. 查看接口代码后发现,这是一个分页查询,最后对结果进行数据补充时,在循环中调用其他服务方法和一个结果数据量较大的sql。
  2. 将循环中的查询提取出来,这一步非常简单,然后把查询结果作为参数传给循环。
  3. 重构超多数据的查询,意义是判断合同的评审状态,而合同的评审状态由合同中订单的评审状态的聚合结果决定,如下图。


    image.png

如果所有订单只有一个评审状态,直接判断这个状态;
如果有多个评审状态,有评审通过的订单就是部分通过。
重构后的代码如下,明显比原代码更加清晰,更容易理解。

image.png
上一篇下一篇

猜你喜欢

热点阅读