重读《重构》二十年后:那些依然锋利的直觉

第一次读《重构》是在 2006 年,当时觉得书里的例子啰嗦:改个函数名也值得写一整节?
十五年后重读,才明白 Martin Fowler 写的不是手法,是节奏——小步、安全、可停顿。
依然锋利的三条直觉
1. 小步快走,每步可停
「每次重构后都运行测试」在今天依然是金科玉律。区别只是,现在测试替我们按下了回车。
2. 坏味道比错误更值得警惕
重复代码、过长函数、发散式变化——这些坏味道不会让程序崩溃,但会让下一个人崩溃。
3. 重构不是重写
重写是承认失败,重构是延续生命。区别在于:你是否始终保持着可发布状态。
一个实战片段
上个月接手一个 400 行的订单函数,没有测试。做法:先给外层行为补特征测试(characterization test),再每 20 分钟抽一个函数出来。三天后,函数从 400 行降到 60 行,行为分毫未动。
书还是那本书,读的人不一样了。




💬 评论 (2)