程序员如何做「代码重构」:不是重写,是改善
很多人把重构理解成"重写",这是最大的误解。
重构是在不改变功能的前提下,让代码变得更好。
一、什么时候需要重构
1. 代码难以理解
看一段代码,需要花 30 分钟才能看懂——该重构了。
2. 修改成本高
改一个小功能,要改 5 个地方——该重构了。
3. 技术债积累
"这个代码我不敢动,一动就出问题"——该重构了。
二、重构的原则
1. 每次改一点
不要试图一次性把所有代码都改好。
每次只改一个函数、一个模块。
2. 有测试保护
重构之前,确保有测试。
没有测试的重构 = 冒险。
3. 不改变功能
重构不是重写,不改变代码的行为。
4. 频繁 commit
每次小改进就 commit,便于回滚。
三、重构的方法
1. 提取函数
过长的函数 → 拆成多个小函数。
每个函数只做一件事。
2. 重新命名
变量名、函数名、类名——要好理解。
好名字 > 注释。
3. 消除重复
同样的代码出现 3 次以上 → 提取成公共函数。
4. 简化条件
复杂的条件判断 → 简化或提取成函数。
四、常见错误
❌ 重构不写测试
"我知道这段代码是对的"——不,你不知道。
❌ 一次性改太多
"今天心情好,把整个模块都重写了"——风险太大。
❌ 不留后路
"这个改动应该没问题"——万一有问题呢?
五、一句话总结
重构 = 每次改一点 + 有测试保护 + 不改变功能 + 频繁 commit。