改一行,崩一片:接手「屎山」代码的人,都懂

📅 2026/7/7 18:10:23
改一行,崩一片:接手「屎山」代码的人,都懂
改一行崩一片接手「屎山」代码的人都懂入职头一周最让人腿软的往往不是写新功能。是你的 leader 拍拍你肩膀指着一个跑了好几年、没人愿意碰的老项目说「这块以后归你了先熟悉熟悉。」你打开一看——几千行的文件没一句注释函数名一脉相承地叫handleData2、fixBugFinal、fixBugFinalFinal、fixBugFinal真的最后一版一段逻辑绕了八个弯你顺着读到第三层就彻底断片一时分不清自己是谁、又是怎么走到这一步的。你想改个小地方手悬在键盘上迟迟不敢落下万一一动哪儿就崩了呢欢迎来到「屎山」。先说清楚这坨不是你写烂的接手屎山的人常有一种隐隐的自我怀疑是不是我太菜了连这点代码都读不懂不是。你读着费劲恰恰说明它本来就写得费劲。一坨屎山是怎么堆起来的你想想就明白了第一个人赶着上线先「能跑就行」注释以后再补再也没补。第二个人不敢动前面的怕踩雷只好在旁边又接一段。需求改了八回每回都往上摞补丁没人有空回头重写。然后这几个人陆陆续续都跑路了把这坨连同一脑子「只有我自己懂」的逻辑一起留给了你。屎山从来不是一个人的杰作是「赶工 没人管 拍屁股走人」一层层糊出来的。你只是那个最后接盘的。为啥读比写还累有个流传很广的说法程序员读代码的时间大概是写代码的十倍。写的时候逻辑在你自己脑子里顺。读屎山不一样那更像考古你对着一堆没头没尾的残片得把那个早跑路的作者从坟里拼回来——猜他当时在想啥、为啥要绕这么远、这行看着毫无意义的代码到底能不能删。最要命的就是那种「不敢删」。一段看起来毫无意义的代码你删了可能啥事没有也可能线上当场原地爆炸——因为没人知道三年前有个犄角旮旯的功能正死死攥着它当命根子。于是它就像你家那箱「说不定哪天能用上」的旧数据线人人嫌占地方可谁也不敢真扔。于是大家的默契变成了不求有功但求别动出事。屎山就这么一直矗着越长越高。接住了怎么少遭点罪骂归骂活还得干。几条我自己踩出来的一改之前先让它「可回头」。动手前确认能回滚、有备份、最好有测试兜底。让自己有底气试错而不是每改一行都像拆炸弹。二小步改别上头想推倒重来。「这破玩意我重写得了」是新人最容易冒的念头也是最容易把自己埋进去的坑。先看懂、再小修比推倒重建安全一百倍。三你改过的地方顺手留一句人话注释。不是为了感动谁。是为了三年后接手的那个倒霉蛋——很可能就是把这茬全忘光了的你自己。接手屎山不丢人干这行你迟早会明白世上没有干净的代码只有还没变脏的代码。你今天嫌弃的屎山当年也是某个人赶着 deadline、咬牙憋出来的「能跑就行」。接手屎山不丢人它几乎是每个程序员的成人礼。能在一坨乱麻里不把自己逼疯、还慢慢理出条线来——这本事比写一段崭新的漂亮代码难得多也值钱得多。下次再打开那个没人敢碰的文件深呼吸。它不是来证明你菜的是来把你熬成老手的。我是「第404号工位」——一个也接过好几坨屎山、改一行手抖半天的前端。要是你手里正好也压着一坨转给那个跟你一起在乱码里挣扎的同事。