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

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

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

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

✅ 两点之间直线最短

我在做代码走查的时候                  ,发现一个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
搜索命令site(fgrep命令 – 为文件搜索文字字符串) 网站不被搜索引擎收录的原因(分析网站被排除在搜索结果之外的可能性)