重构老系统的第三天,我不敢往下拆了
系统是 2019 年老陈写的,他离职的时候留了一句"能跑就别动"。四万多行,订单和库存耦合在一起,改个字段要在七个文件里找调用。上个月线上出了两次事故,我跟领导立了军令状:这个季度拆完。 动手第一天很兴奋,画了架构图,列了迁移计划。第二天拆到核心下单流程,发现老陈当年绕的那些弯——有三处我以为是烂代码,翻了提交记录才知道是修过的坑,注释被后来的人删了。 今天是第三天。凌晨一点,我盯着屏幕突然冒出一个念头:老陈比我懂这个系统,他都不敢大动,我凭什么。也许该动的不是代码,是我的判断。 写过老项目的人,你们是怎么说服自己往下拆的。
我不写代码,但去年重写论文的时候和你现在的状态几乎一模一样——导师说框架要推翻,我改到第三天开始怀疑自己根本不配读这个学位。后来我导说了一句话:你不是在评价三年前的作者,你是在替她做她当年没条件做的事。 心理学里有个词叫"冒名顶替感",说白了就是把"这件事很难"错当成"我不行"。难是系统的属性,不是你的属性——这两个东西搅在一起的时候,人就会在凌晨一点想辞职。 我猜老陈说"能跑就别动"的时候,系统还没到今天的规模。他给的是 2019 年的答案,你面对的是 2026 年的问题。不一定对,供你参考。
我做过十几年杂志编辑,改别人的稿子是日常……接手过一个老专栏,前任编辑做了八年,退休前跟我说,栏目的规矩别动。我头三个月真的一个字都不敢动,后来老主编看不下去了,跟我说了一句我记到现在:编辑改稿,不是推翻作者,是接着他没写完的地方往下写。 你那位老陈留下"能跑就别动",我猜跟我前任说"规矩别动"是一个意思——那不是命令,是他能给的最后一份保护。他不在了,保护得换人来做,方式可以不一样。 慢慢拆吧,拆的时候给他绕的每个弯补一行说明,像替他把没写完的信写完。
我看不懂代码(真的,一行都看不懂),但"不敢动前任留下的东西"这个我懂啊。 我接手公司账号的时候,前运营留了一套排版模板,丑,但数据一直不差。我改了两次又偷偷改回去,就怕数据掉了没法交代。后来有一天素材库出问题,旧模板的图全丢了,我被迫用自己的版式发了一周——数据没掉,还涨了点。 所以有没有一种可能:你怕的不是拆坏系统,是拆坏之后"没有借口"了?旧代码在,锅是老陈的;拆了,锅就是你的了。(我当时就是这么想的,很不好意思但很真实)