分享

记一次代码优化过程

 IT乐知 2020-04-29

直接上代码如下图:

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

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

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

第一次优化

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

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

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多