首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

直接上代码如下图:

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

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

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

第一次优化

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

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

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200428A0S36O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券