重构应该是一种工作习惯

Posted by 陈树义 on 2021-02-17

-w1069

本文是发表于豆瓣的《重构》一书的书评,觉得这里面倡导的一些习惯很有价值,分享给大家。

作为一个工作了六年的开发,临近年末重读此书,花了没几天就看完了。整体来说,这本书比较适合刚刚参加编程工作的小伙们读。对于菜鸟们来说,书中对于重构的思想(重构应该贯穿于日常工作中)可以帮助他们养成良好的习惯。

可能是工作时间较久了,所以书中提到的很多技巧,其实都能一下子领会,所以也就看得特别快。基本上看了标题就知道要说啥事情,那基本上一章就几分钟略过。但对于新手来说,这本书还是不错的,整体逻辑也比较清晰。

书籍第一章用一个非常形象的例子讲述重构,让大家对重构有了感性的认识。之后讲了一些重构原则、不好的代码是怎样、重构前的准备,接着讲了很多重构的小技巧,最后讲了大型重构的经验。整体来说结构层层递进,读着是比较舒服的。

对于我来说,书中说的重构技巧感觉都有点过时了,或者说太简单了。例如:它告诉我们要 Extract Method,也就是说抽离函数,要把过长的函数抽离出来。要让函数名语义化。要用变量去替换表达式等等。其实这些都是日常操作,都已经知道了。所以对于这块内容,如果真的想提高,那么看看《阿里巴巴Java开发手册》可能收益更高。

虽然书中提到的这些重构技巧很简单,但可能真的有一些同学不遵守。因此如果你作为团队 leader,想去提升整体代码水平。那么将这些整合成一个类似于《阿里巴巴Java开发规范》的手册确实能有所帮助,可以约束开发团队往规范化的路上走。

整本书看下来,让我觉得比较认可的是作者对于重构的态度。作者提出:重构应该贯穿于日常工作中,而不应该专门拿一段时间来做重构。 结合这段时间的工作经验,我深表赞同。在实际工作中,业务需求繁忙。你能做的就是在做需求的时候,顺带把重构做了。就像蚂蚁搬家一样,一点点优化。而不可能要求业务方给你一两个星期,我来做一个优化,那真的不可能。

厮以为所有软件开发工程师都应该将「日常重构」深深记在心里,并将其落实到每天的工作中。只有这样,你们的系统代码才能越来越好,工作才有可能越做越轻松。这不是一个人的事,而是整个团队的事。

下次应该写一篇《程序员重构指南》,把书中关于重构的思想、技巧都整理一下,相信会对技术同学们有所帮助。