“代码写完跑通了,就不用管了”—— 这是我过去的想法,直到读了《代码大全 2》中 “代码重构” 的章节,才明白:好代码不是 “一次写出来的”,而是 “不断改出来的”,重构就像 “给代码做体检”,能让它在长期迭代中保持清晰、高效。
书中定义重构为 “在不改变代码功能的前提下,优化代码结构”,目的是解决 “代码腐烂”—— 比如函数越来越长、变量名越来越模糊、逻辑越来越混乱。我曾维护过一个 “商品库存管理” 的模块,前任开发者不断在里面加功能,比如 “库存预警”“库存冻结”“库存同步”,却没做任何重构,最后整个模块的代码像一团 “乱麻”:一个函数写了 150 行,变量名有 “kucun”“kc”“stock1”,逻辑跳转频繁。我每次修改都要花半天理清关系,还容易引入新 bug。后来我按照书中的 “重构技巧”,先把长函数拆成小函数,再统一变量命名,最后梳理逻辑流程,用了一周时间重构完成。重构后,代码行数没减少多少,但可读性大幅提升 —— 后来新增 “库存日志” 功能,只用了半天就完成了,比之前快了三倍。
书中还提到,重构要 “小步走”,避免 “大爆炸式重构”。也就是不要想着一次性把所有问题都改完,而是每次只改一个小地方(比如拆分一个函数、优化一个命名、清理一段冗余代码),改完后立即测试,确保功能正常。我之前试过一次 “大重构”,想把整个 “用户中心” 的代码全部优化,结果改了两天后,发现很多功能出了问题,又没时间逐一排查,最后不得不回滚代码,白忙一场。后来我按照 “小步走” 的原则,每天只做一点重构:今天拆一个长函数,明天优化几个变量名,后天清理冗余注释,每次改完都跑测试用例,确保没问题。这样虽然慢,但很稳妥,一段时间后,代码质量也慢慢提上来了。
现在我养成了 “定期重构” 的习惯:每次新增功能前,先看看相关的旧代码有没有需要优化的地方;每次修复 bug 后,顺便清理一下周围的冗余逻辑。重构不是 “额外工作”,而是 “维护代码健康” 的必要步骤。《代码大全 2》让我明白,代码和人一样,需要 “定期保养”,才能在长期使用中保持良好状态。