暂无搜索历史
老李几年前写过第一版订单通知服务,只需要发短信。后来需求增加邮件、企业微信、钉钉、站内信。然后又要求发送前记录日志、过滤敏感词、对内容加密。如果用继承实现,子类...
比如一个订单通知服务,第一版只接入一家短信平台,代码直接写在 OrderService 里:
想象这样一个场景:你负责的订单中心需要新建一个订单对象。一开始,订单只有订单号、用户ID、商品ID、数量、金额五个字段,构造器写得很干净。
我们系统里有一个营销活动配置对象 CampaignConfig,字段将近 40 个,包括活动名称、时间、渠道、预算、规则列表、奖品列表、风控参数、扩展属性等。早...
这个系统早期只接入了微信支付,代码非常单纯。后来要接入支付宝、银联、云闪付,慢慢地,支付模块开始长出了四个独立工厂:
我是老李。前段时间接手一个订单系统,里面有一个 PaymentService,一开始只支持支付宝。代码写得很坦率:
2016 年我接手过一个订单系统,里面有一个叫 GlobalConfigManager 的类,最初只是一个单例,负责读取数据库连接地址和几个开关。代码大概长这样...
一个订单服务里,一行代码安静地躺着:order.getCustomer().getAddress().getCity()。它不报错、不打日志,甚至单测也能过。可...
很多年前我还在做电商系统的时候,碰到过一个很邪门的 bug:订单结算时,只要命中某个促销规则,金额就会少算几块钱。测试环境怎么都复现不了,线上却偶发。那天下午,...
最近又在评审代码时看到一种熟悉的味道:一个 BaseDao 被十几个子类继承,子类为了复用父类一个查询方法,被迫把连接管理、异常处理、日志打印全部继承下来;改一...
最近团队复盘了一个线上事故,起因是一名同事给支付模块加“组合支付”,只在一个老方法里加了一个分支判断,结果原先稳定的单渠道支付开始偶发对账不平。我是老李,做 J...
上周一个看似无害的邮件发送模块调整,让订单服务整个没跑起来。这不是运气差,是依赖方向出了问题。我是老李,今天聊聊设计模式里的依赖倒转原则。很多人一听就想到接口,...
上个月,一个订单模块出了生产事故:运营改了一条满减规则,结果用户下单后收到的短信模板变成了测试文案。排查半天,问题不在短信服务,而在订单类里塞了参数校验、库存扣...
你可能遇到过这种情况:辛辛苦苦维护的自动化脚本,今天还能跑,明天就崩了。网页改了一下按钮的位置,CSS类名变了,你的选择器就成了一堆废纸。RPA(机器人流程自动...
凌晨一点,你在公司群里看到测试失败通知。点开日志,五十个用例挂了四十八个,原因只是登录页的“确认”按钮改成了“下一步”。你揉了揉眼,把选择器从 button:h...
每天早上一睁眼,先想起那件事:今天的学积分还没打。你手机里可能也有一个这样的网站:登录、签到、领积分,一天漏掉,连续奖励就断。朋友的公司甚至用积分排名考核学习,...
清晨六点半,老张打开电脑,先在报销系统里填单,再登录HR系统下载考勤,最后把数据复制到Excel模板。这套流程他做了两年,眼睛盯着屏幕,手如同打字机。终于有一天...
暂未填写个人网址