首页IT科技两点之间直线最短是公理还是定理(两点之间直线最短,你写的是代码,我写的是艺术)

两点之间直线最短是公理还是定理(两点之间直线最短,你写的是代码,我写的是艺术)

时间2025-08-05 11:22:49分类IT科技浏览4468
导读:随着需求迭代,团队代码量逐渐增多,熵增崭露头角。临近月底,我打开部分程序,再做一次代码走查。...

随着需求迭代            ,团队代码量逐渐增多                  ,熵增崭露头角            。临近月底      ,我打开部分程序         ,再做一次代码走查                  。

✅ 两点之间直线最短

我在做代码走查的时候                  ,发现一个service方法里有这么一段代码

先说一下PlatOrder对应的数据表plat_order         ,plat_order是平台付款订单表      ,orderId是平台订单号                  ,字段上有唯一索引      。

我看这段逻辑            ,直觉是为什么调用 PlatOrderService#selectByOrderIds 方法获取一个列表   ,然后再取第一个元素呢? 绕这么一个弯儿干啥                  ,殊不知两点之间直线最短         。我赶紧翻一下 PlatOrderService 的方法列表                  。 发现果然有另一个方法 selectByOrderId         。那么               ,这里调用 selectByOrderId ,像下面这样               ,是不是更优雅?
PlatOrder platOrder = platOrderService.selectByOrderId(bankOrder.getOrderId()); Assert.notNull(platOrder, "服务商未落单"); paymentReq.setOrigTransNo(platOrder.getMerOrderId());

✅ 世上无易事                  ,用心求精进

PlatOrderService 是基于 plat_order表的CRUD操作的service接口类      。先说一下plat_order表   ,plat_order是平台付款订单表            ,orderId是平台订单号                  ,字段上有唯一索引                  。

我在做代码走查的时候      ,发现 PlatOrderService里有这么一个方法
public interface PlatOrderService { /** * 根据订单流水号查询单条平台订单记录 * @param orderId * @return */ List<PlatOrder> selecPlatOrderByOrderId(String orderId); }

为什么会有这么一个方法呢?据我分析:①是当事人不清楚orderId的作用;②当事人迷糊            、马虎         ,未加思考未作了解就写出来的;③当事人参考其他service如法炮制                  、信手拈来;④年久失修            。

我不能再容忍这样的方法继续被使用   。

因此                  ,改成这样:
public interface PlatOrderService { /** * 根据订单流水号查询单条平台订单记录 * @param orderId * @return */ default PlatOrder selectByOrderId(String orderId){ List<PlatOrder> list = selecPlatOrderByOrderId(orderId); if (CollectionUtils.isNotEmpty(list)) return list.get(0); return null; } /** * 根据订单流水号查询单条平台订单记录 * 不要再调用这个方法了         ,请使用{@link #selectByOrderId(String)} * @param orderId * @return */ @Deprecated List<PlatOrder> selecPlatOrderByOrderId(String orderId); }

某天深夜      ,我突然一想                  ,我的正确姿势            ,应该是直接删掉这个方法   ,斩草要除根                  。上班后                  ,立即行动               。快刀斩乱麻               ,相关调用一并改掉。

public interface PlatOrderService { /** * 根据订单流水号查询单条平台订单记录 * @param orderId * @return */ PlatOrder selectByOrderId(String orderId); }

✅ 待续

声明:本站所有文章,如无特殊说明或标注               ,均为本站原创发布               。任何个人或组织                  ,在未征得本站同意时   ,禁止复制      、盗用         、采集                  、发布本站内容到任何网站         、书籍等各类媒体平台                  。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
长尾优化排名的技巧(如何利用长尾提升网站的流量)