我给被删的代码修了座坟:其中一个幽灵没死
来源:dev.to — 2026-10-30
📋 概述
删除一个函数在 diff 里看起来干净利落:名字没了、测试过了、标签页关掉。但函数存在的理由常常跟着一起消失,尤其是那种很不体面的理由——「别删这个最后的兜底重试,真的偶尔要靠它成功」。作者因此做了 Graveyard Shift:一个小的代码历史降神会,你能打开一个已删函数的坟、审问它、翻它的记录、并重放一个回归的 bug。演示里有两座坟:legacy_retry 在重写中真的消失了,它的旧实现记得一个被新版本丢掉的边界条件;另一个不那么好说话,读到一半你会发现有个活着的函数有同样的归一化实现——名字死了,实现还在。作者强调这点很重要:把所有被删的名字都写成煽情墓志铭会很好看,但那是错的。
🔑 核心要点
- 删掉名字不等于删掉实现:同名逻辑可能以另一个函数名继续存活,这正是最容易看漏的一类。
- 演示里的历史是作者自写的四个提交:包含 bug、修复、改名与重写,可重复检验而不编造他人仓库的故事。
- 工具先看证据再下判断:避免把每一次删除都当成一次死亡事件来叙述。
- 真正的价值是留下「为什么存在」:边界条件和兜底理由往往只存在于被删的那几行里。
💡 金句
A tool that turns every deleted name into a dramatic obituary would be entertaining and wrong.
译:一个把每个被删的名字都写成煽情讣告的工具会很好看,但也是错的。
👍 0
👎 0
← 返回 dev.to 首页