An image to describe post 恭喜《重构》第二版上市,送点福利

2019年,上海野生动物园

我一直想列个单子:如果要搞软件开发,哪些书是必须要读的。虽然书单一直没有齐全,但其中有些内容是确定的,比如《代码大全》和《重构》。

虽然“计算机专业”会教编程,但学校里一般总是把编程当成科学来教,而不是手艺或者技艺来培训,所以许多毕业生工作了之后,写的代码虽然能得到正确答案,但内里实在惨不忍睹——我不是说别人,我自己也是这样。所以,应当补课,也必须补课。

如果说《代码大全》让我知道了“程序应该怎么写”,那么《重构》就让我知道了“程序应当怎样保持健康”。多年前我读的《重构》还是英文版,读完全书,除了见识各种重构技巧之外,印象最深的是作者的概念:代码和生物一样,放着不动就会decay(应当翻译为“腐烂”吧),这是一个无可避免的、类似熵增的过程,要改变它,唯有不断投入精力去重构和维护。

看完这本书,我养成了“有空就翻翻老代码,看看能不能改进一点”的习惯,程序的质量、对程序的领悟都在慢慢打磨中不断提高。当然,反面的例子也有,2011年我不得不重构一个之前三年从未维护只是不断添加代码的类,3000行左右的代码,硬是让我绞尽脑汁奋斗了五天……

所以我总觉得,《重构》里的bad smell翻译成“坏味道”有点文绉绉,本来味道就有点怪怪的。如果我是译者,一定翻译为“臭气”。糟糕的代码就是会散发出臭气,甚至是熏天的恶臭。如果程序员“久居鲍鱼之肆不闻其臭“,他们对代码的审美能力一定有问题。带代码审美能力有问题的程序员,多半面对不了艰巨的挑战——这一点,已经反复为经验所证明。

好了,别的不多说,二十多年之后,《重构》(第2版)上市了。作者Martin Fowler本人用行动证明了,即便是经典的《重构》,也需要重构的。

作者尚且如此身体力行,我辈岂能落后?

An image to describe post 恭喜《重构》第二版上市,送点福利

送上异步社区提供的《重构》图书两本,硬皮精装,值得拥有。

欢迎转发,更欢迎留言说说你对“重构”的看法和经验。

An image to describe post 恭喜《重构》第二版上市,送点福利

如果您认为本文说的有道理,欢迎长按识别上面二维码订阅。

“余晟以为”虽是个人号,但只用心做原创,不虚张声势,不故弄玄虚,不带节奏,力求定期更新,只为和你一同探索世界,分享致中平和的观点。