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

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

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

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

✅ 两点之间直线最短

我在做代码走查的时候                       ,发现一个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
pythonexp函数(python中xrange()函数用法)