周三下午,代码评审会。
刘总坐在投影幕前面。陈思远把电脑接上屏幕,订单系统的代码显示出来。
"整合版。"刘总说,"过一遍。"
周明远坐在第二排,笔记本摊开。他习惯在评审时记问题——逻辑不顺的,边界漏了的。以前这种会,问题多半是他第一个发现的。
陈思远开始讲。讲得清楚,AI帮着写的,格式规整,注释齐全。
讲到订单状态变更,刘总问:"订单取消之后,关联的库存怎么处理?"
陈思远看了一下代码:"这里没有处理。"
"谁负责库存模块?"
周明远举了一下手:"我。"
"你那边有取消回滚的逻辑吗?"
"有。订单取消后库存自动回滚。我写的。"
刘总点头:"好。那——"
他话没说完,屏幕右下角弹出一行字。
绿底白字:
"检测到潜在问题:订单部分取消时,库存回滚数量可能与实际扣减不一致。建议检查部分取消场景。"
会议室安静了两秒。
刘总看着那行字:"部分取消?"
周明远盯着屏幕。
他写的回滚逻辑:整单回滚。五件商品退了,五件全退回去。他从来没想过"部分取消"。
需求文档里没提过。三年里没人提过。
但确实——如果客户买五件退两件,库存应该只回滚两件。
他的代码里,五件全退。多三件。
三年了。这个逻辑写了三年,没人发现。
一行绿字,连半分钟都没用。
"这个谁跟进?"刘总说。
周明远说:"我。"
声音比平时小。他自己听出来了。
散会后陈思远走过来。
"周哥,你看到了吧?"
"看到了。"
"它经常能发现这种边界问题。上周用户模块,它指出了三个我没想过的场景。"
周明远没说话。
陈思远又说:"周哥,你做库存模块三年了吧?"
周明远点了一下头。
陈思远没再问,走了。
周明远回到座位,打开自己写的回滚逻辑。
三十几行。三年前写的,改过两次,每次都觉得很放心。
整单回滚。没有部分回滚。没有按商品拆分。没有处理已发货和未发货的区别。
他打开数据库。查退单记录——有十几笔部分退的。查库存变动记录——有三笔对不上,都做了人工调账。没人往上追原因。
他靠上椅背。
他以前是团队里发现问题最快的。别人叫他周哥,不是因为年纪,是因为靠谱。
现在一行绿字顶他三年。
不是工具比他快。是工具能看到他看不到的东西。
人看代码凭经验。机器看代码凭遍历。
经验漏了,遍历不会漏。
他关了电脑。趴在桌上。
办公室里有人说话,有人打电话。他什么都听不见。
屏幕上那行绿字还在脑子里:"部分取消场景。"
三年。一行绿字。