记一次不一样的代码优化过程

直接上代码如下图:

1初始代码.png

首先需求:订单order对应一个经纪人agent,有订单的经纪人才能够服务客户customer。要求是高、中等级的客户对应服务的经纪人优先级是高>中>初等级的经纪人,而低等级的客户服务的经纪人优先级是初>中>高。

代码实现:通过订单获取所有对应的经纪人,然后把经纪人根据等级分组。然后判断客户等级,如果是高、中意向,先筛选出高等级经纪人的订单,如果有直接返回,如果没有在筛选出中等级经纪人订单,如果有直接返回,如果还没有说明订单全是初级经纪人订单,最后直接返回。低等级客户实现相反。

代码实现后,提示代码重复!我也知道重复,但是感觉实在没有办法抽取出来。

第一次优化

有一行代码重复还是明显的,所以先抽取看看,结果如下图:

2第一次优化.png

优化后还是提示代码重复,那就只能大改了,把判断里面全部抽取出来,重构如下图:
3再次优化.png

终于idea不提示重复了,但是我们还可以在优化优化,经纪人提前分组不是一定必要的,只有在需要的时候才去获取对应等级的经纪人,最终优化如下图:

4最终调整.png

这样就减少了集合遍历的次数,实现了一定的优化!

Java程序员日常学习笔记,如理解有误欢迎各位交流讨论!

Java程序员日常学习笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值