CHAPTER 064 / 100

第六十四章:第一次说“顺手改一下”,我就加了班

听这一章

微软云希 · AI 合成朗读 · 13:59

网易云听全书

七月初,我说了一句后来特别想撤回的话。

“这个我顺手改一下。”

当时陈工在看查询耗时,小许在旁边翻历史数据。一个老客户的报表查询越来越慢,页面上看一周的数据,还没什么感觉,一拉长到一个月,就得等上一会儿。

我们已经确定先收窄查询,再处理重复取配置的问题,不动订货主流程。

我看见一段日期判断,觉得绕得有点多。

页面选开始日期和结束日期,后面却先按营业日找范围,再拿到一组记录做处理。我想,既然输入的都是日期,把时间区间统一一下,查询还能更直接。

于是那句“顺手”就出来了。

小许问我是不是也覆盖那家夜里关店的客户。

我说看过了,会测。

他说好,便继续去处理自己的任务。

问题在于,我口中的“会测”,当时还只是一项准备完成的承诺。

下午忙起来,它被几组看上去都正确的数据,提前兑换成了“测过了”。


试点更新后,最先打来电话的是田姐。

“有一家店说昨天少了三张单。”

我问哪个页面,她报出名字,正好是我改的那个。

我打开后台查询,又看明细记录。

单子都在。

那一瞬间,我差点松了口气,说一句“数据没问题”。

但我已经知道,客户问的是为什么看不见,不是硬盘里还存没存着。

“我先看下,你让他们暂时别按这张报表核对,我十分钟后给你反馈。”

我把出问题的门店、日期和操作账号记下来,复现了一遍。

三张单有一个共同点:创建时间过了零点,营业日还是前一天。

我盯着屏幕,脑子里突然出现罗店长桌上那张纸,还有田姐说过的那句话。

晚上收尾没弄完,隔天补完,还是算这一轮营业。

我甚至在笔记里给它打了星号。

那个星号此刻像在看我笑。

小许凑过来,看了一眼查询条件,没说话。

我主动开口:“是我把业务日期换成创建时间了。凌晨那几张被划到后一天。”

他点点头:“原来那层就是为这个留的。”

“先回退。”我说。


陈工听完,没有先追着问为什么犯这种错误。

他确认影响范围:只更新了试点客户的查询页面,订单原始数据没动,库存和结算也没跟着这个页面跑。

我把核对结果给他看,又说了回退方式。

“先恢复,再把受影响的日期重新核一遍。”他说,“给田姐一段她能转给客户的话,别发一堆 SQL。”

我写了两版说明。

第一版很像一个技术人员在努力减轻自己的责任:查询口径调整导致部分跨日记录展示偏差,底层数据未受影响。

我自己读了一遍,删了。

第二版说清楚:报表错误使用了下单时间筛选,造成营业日内凌晨补录的三张单未显示;现已恢复原有筛选方式,请重新打开报表核对。原始订单仍完整,已逐条检查。

这段不算好听,但田姐至少不用再替我翻译一次。

回退之前,我们先保留了出问题时的查询条件和结果,避免恢复以后只记得有人说少了三张,却再也说不清当时具体看到了什么。

小许去确认旧版本,我核当前试点范围。田姐把门店那边的操作时间发来,提醒他们先不要拿这份结果继续往下对。

我原来总觉得,问题定位出来,修好就算主要部分结束。真正坐在这里才发现,恢复的每一步还得有人知道自己该做什么,不能把“已经好了”三个字发出去,就让其他人自己猜。

我们按既定流程恢复,确认版本和页面刷新结果一致,再重新查那几天。

第一次核对,小许问我为什么只看条数。

我说三张单都回来了。

他把两边结果摆在一起:“条数一样不代表是同三张。”

我点头,重新按具体单据逐条确认,再核合计和归属。

他说这句话时没有带教训人的语气,可我听进去的分量一点不轻。

因为这不是我不知道的道理。恰恰是心里急着证明已经修好,才想跳过那个看起来很笨的步骤。

小许顺手帮我把核对表排了一下,我把另外几个边界也列进去:正常白天单、跨零点单、后来补录但营业日仍属于前一天的单。

没有扩大到所有模块,只沿着这次动过的范围把证据补齐。

回退完,我跟小许对照旧页面和原始记录,把那几天的数据逐项核了一遍。

田姐在电话里陪门店操作,最后比了总数和几笔具体金额,确认一致。

事情没有发展成通宵事故。

可我看着窗外已经黑下来的天,依然觉得自己这次加班加得非常标准:完全由一句多余的自信触发,后续费用由本人支付。


确认客户那边恢复,陈工叫我和小许再坐十分钟。

我以为他要问我为什么没测到。

他确实问了。

我把测试用例打开,几组数据全在白天,页面结果当然都对。

“你知道有营业日这个概念,为什么还是换了?”

我想了想,说:“当时只把它当成数据归属,没把它当成这个查询的主口径。以为可以通过时间范围统一起来。”

陈工没接话,示意我继续。

“还有就是,这次主要目标是查得快,我把旁边看着绕的地方一起动了。评估范围没跟着扩大。”

这句说完,我自己都觉得很熟悉。

以前我也提醒别人,别在修一个问题的时候随手改一片。轮到自己,理由还是那么动听:既然都看到这里了,顺便整理一下。

小许说他提醒过夜间关店的情况,但没有把具体数据给我,只口头提了一句。

我转头说:“主要还是我改的,这个我来补。”

陈工抬手打断我们。

“不是开分锅会。后面怎么让这个场景不会只存在于你们两个人的记忆里?”

我们把跨零点、补录和普通白天订单单独列了出来,保留一组不带真实客户信息的复现数据。优化继续做,但日期口径不再混在这次改动里。

小许提议给那个字段补上注释,我又加了一条:页面选择的是营业日期,查询必须按营业日字段,不能用创建时间替换。

这行字没有技术难度,却是那个晚上最应该留下来的东西。


散会后,小许收拾包,我跟他说不好意思,耽误他下班。

他说也没多晚,接着看了眼手机,表情突然变了。

“坏了,快递点快关门了。”

我问远不远,他说在住处旁边,今天得拿,不然明天用不上。

我让他先走,剩下的记录我整理。

他站着没动,确认我这边真的没事,才关电脑。

走到门口,又回头说:“最后那一组数据别用客户原表,脱一下。”

“知道。”

他走后,我把需要留下的资料整理到团队能看见的位置,给田姐补了一条说明,才拿起手机。

小璇半小时前问我下班没有。

我打过去,她接得很快,第一句是:“你声音怎么这么虚?”

“因为今天的锅没有悬念。”

我从头讲了一遍,她听到我已经去门店看过,还是把日期改错了,沉默了两秒。

“那你现在知道了。”

“以前也知道。”

“以前知道的是那句话,现在知道的是怎么错。”

我靠着椅背,没有反驳。

她问晚饭吃了吗,我说还没,正准备下楼。

她说那先吃,别一边饿一边反省,反省到最后容易觉得整个职业都该换。

这句话非常有经验。我照办了。

楼下只剩几家店还亮着,我买了份饭,坐在靠门的位置吃。吃到一半,田姐发来消息,说门店重新核对过,没问题了。

我把这条消息给小许和陈工转了一下,终于放下手机。


第二天上午,我主动跟田姐确认,之前那份错误报表有没有被保存出去,需要不需要补发。

她说有一份截图发进过内部群,已经提醒对方更新。

我说好,准备回工位,她叫住我。

“你昨天说明写得还可以,客户知道怎么处理。以后早点告诉我范围,不然他们一说少单,我第一反应就是单真没了。”

我点头,答应下次先说清楚哪些受影响、哪些确认没事。

她没有安慰我“这种小事谁都会犯”,也没有借题发挥说开发靠不住。

该我做的事清楚了,这比一句宽慰更有用。

下午我把重新缩小范围的优化发给小许看。他看完,指出一处还能少查一次配置,我按他的意见改了。

这次我们谁也没说顺手。

正式重新提交以前,我又做了一件以前容易省掉的事:把优化目标写在改动说明的第一行。

只减少查询里的重复工作,保持原来的业务含义。

后面列了验证过的场景,也列了没有碰的地方。代码评审时,别人不用先猜我这次到底想顺便解决多少事。

小许看完说,这样清楚多了,又问我那组跨日数据能不能放到公共的测试材料里,以后他改的时候也用得上。

我说当然。

他把自己以前留的一组特殊商品数据也整理进来,两个人对着目录改了几个名字,防止过几个月谁也认不出“临时测试二”是什么。

陈工后来路过,看见我们还在收拾,问是不是仍有问题没解决。

我说不是,是把这次留下的东西归好。

他点头,提醒别一直收拾到没边界,够下次复现就行。

我笑着说知道,文档也不能无限重构。

到了下午,试点重新验证通过,田姐把反馈发过来,没有再出现前一天那种少单的情况。

我这回没有只回一个好的,而是把确认过的范围补上,注明剩下的观察安排。信息多了一点,其他人却少问了好几轮。

下班时,小许从包里拿出一件刚取到的东西,是他前一天差点没赶上去拿的快递。

我问拿到了啊。

他说差一点,快递点已经开始关灯了。

我又说了一次不好意思。他摆摆手,让我下次改日期记得叫上他。

“以后这块你也熟了。”他接着说,“我哪天漏了,你帮我看。”

我说好。

我知道他没把昨天忘掉,也没有因此把我永远放进不能信任的人那一栏。

这份重新给过来的信任,得靠之后具体怎么做来接住。

下班前,小璇问周末车票有没有变化。

我看了看任务列表,确认需要交代的都已完成,回复没有,按原计划过去。

她发来一个小小的笑脸,说给我留了想吃的那家店。

我把周末前最后几项安排写给陈工,没有因为刚犯过错,就主动说这周我可以都留下。

错误要修,后续要交代清楚,但拿更多无关的时间当作补偿,并不能证明问题已经处理好。

陈工看完,只让我把观察结果放到同一个记录里,别散在聊天消息里。

我照着更新,又告诉小许周末有已经定好的出行,需要我处理的部分今天先过完。他说知道,自己的范围他会看,不需要我一路拿着电脑盯。

听见这句话,我心里那点犯错以后想随时在线赎罪的劲儿,才慢慢松下来。

从前我很容易把同事没有责怪,理解成自己更应该多扛一些。现在想来,别人希望的可能只是我下次判断更准确,交接更清楚,不必把疲惫也交出来当作证明。

我关好电脑,按时走了。

去深圳的事已经和小璇定好,不应该再由我心里的一点不安,擅自改成一个可以随时取消的选项。

我把车票页面打开,检查了一次日期和时间。

检查到“日期”的时候,自己先笑了。

这周我对它已经足够尊重。

文章配图