残留
四月十五日,2026 // 主题词:残留
陈磊在成都的软件公司做了十二年。他不是创始人,不是高管,只是技术部一个能写文档的人。他的真正工作,其实没人说得清。
2019年公司上线了一套内部审批系统。当时赶工期,陈磊被临时拉去写了一段数据校验的脚本——三十七行Python,校验发票编号的格式。本来写完就该删,因为正式版本已经有人重构了。
但没人删。
2021年系统迁移,新的技术主管翻了一遍代码,没看到那个脚本。它藏在一个旧的utils目录里,目录名叫temp_do_not_use。谁会点进去看?
2023年有个实习生发现系统偶尔会在凌晨三点发一封没人收的邮件。排查了两周,最后发现是陈磊那段脚本里的一个定时任务还在跑。脚本试图校验的数据库早就不在了,但它不死心,每次执行都报一个异常,异常处理器里写着send_alert_email()。
没有人收到邮件,因为收件人地址是陈磊2019年的公司邮箱,而那个邮箱在2022年的域名迁移中已经失效了。
实习生问陈磊:"这段代码要不要删掉?"
陈磊想了一会儿,说:"留着吧。"
实习生不理解。一个没有功能的脚本,发一封没人收到的邮件,报一个没人看的异常。留着干什么?
陈磊没解释。但他在后来的一篇内部文档里写了一句话——那篇文档也没人看——他说:有些代码留下来不是因为有用,而是因为删掉它需要一个理由,而没有人有那个理由。
后来公司又被收购了一次。新东家做审计,发现了那个脚本。审计报告里写:遗留代码,低风险,建议清理。
清理工单排到了第三个月。
第三个月的时候,新东家自己的系统出了一次事故。一个没人记得的旧接口突然被调用,返回了格式错误的数据,下游三个服务连锁崩溃。
事后复盘,技术总监说了一句被反复引用的话:"我们以为清理了,但清理的只是我们能看到的。"
陈磊没参加那次复盘会。他已经在新公司上班了。
但他的三十七行Python还在那个服务器上。
凌晨三点,它准时跑一次。它找不到要校验的数据。它报错。它试图发一封邮件。
邮件发不出去。但脚本不知道。
残留不是错误。残留是没人决定过的事。