《重构——改善既有代码的设计》(以下简称《重构》)。 这本书有三个序言,《重构的重新认识》(再版序),《重构的生活方式》(译序),《序》。嚇!NB书就是NB书啊,序言都这么多。
一、《重构的重新认识》(再版序)----译者熊节
再版序,顾名思义,就是再一次出版,嗨,看来这书还真是名不副实啊,估计只有书好,买的人才多,才能再版吧。看来这书买对了,^-^
在《重构的重新认识》(再版序)中,译者给出了重构的最基本定义:即重构是在不改变软件可观察行为的前提下改善其内部结构。“不改变软件行为”只是重构的最基本要求。我靠,最基本要求也就意味没有商量必须遵守的原则吧!“不改变软件行为”,我怎么完成我的模块功能呢?----这个问题谁能回答我?
如果把重构比作一门功夫的话,它的威力全部来自日积月累的勤学苦练。记住所有的“坏味道”,记住它们对应的重构手法,记住常用的重构步骤,然后你才可能有信心面对各种复杂情况----学会所有的招式,才可能“无招胜有招”。看来“无招胜有招”才是最高的境界!
二、《重构的生活方式》(译序)----译者熊节
在《重构的生活方式》(译序)里作者也提到了Refactoring to Patterns一书----译者称之为“软件的后结构主义道路”。等研读完《重构》这本术后,再去读一读Refactoring to Patterns,或许不会再像当初那样云里雾里了吧。
懒橢是程序员的美德之一。(含义颇多)
"如果没有单元测试和重构,我没办法写代码"。
然而,我还真的在没有单元测试的情形下,写了三年多的代码了。惭愧!一直想在项目中部署单元测试,真的感觉很难,亦或效果根本不是想要的。难怪我们的软件质量一直让人担扰,一旦到要给用户演示特别是培训试用的时候,我们尽管加班加点的测试和改Bug,但依然总是让人心惊胆跳。希望这本书在这方面能给我一点点启发。
关于译者熊节,这哥们好像是TW的牛人, 呵呵。译者威武,是敏捷方法学和重构专家啊!
三、《序》----《设计模式》的第一作者 Erich Gamma
像很多其它书籍一样,出版前总会找一个牛人作序,这本《重构》也不例外。Erich Gamma是巨作《设计模式》的第一作者,应该够牛吧。
Erich Gamma谈到“代码被阅读和被修改的次数远远多于它被编写的次数。”我们不难想象保持代码可读性是多于的重要!而保持代码易读、易修改的关键,就是重构!
重构具有风险,它修改运作中的程序,这可能引入一些不易察觉的错误。所以要求重构的方式恰当,遵守重构规则。因此我们应该“一次一小步的重构”。
设计模式为重构提供了目标。然后“确定目标”只是问题的一部分而已,改造程序以达到目标,是另一个难题。(这可能就是Refactoring to Patterns一书的主题吧)。