LoveUnix » 行业应用 项目实施 » 《refactoring》书评
让LU留住您的每

一天 让LU博客留住您的每一天
2003-10-19 22:00 瓜小南
《Refactoring》书评<br /><br />《Refactoring》书评<br />作者:guojerry<br /><br />也许你是一个编程初学者,你是否想在一些明哲的指导下编写出漂亮的代码,为以后踏入软件开发领域打下坚实的基础?也许你是一个具有多年经验的程序员,你是否有时觉得自己所编写出来的代码有些混乱,想进行调整美化却又不知从何下手?也许你是一个编程高手,自己的脑子里充满了修改程序的规则和经验,但当别人向你请教让你传授时,你是否不知从何说起?也许你是一个公司的技术主管,你也意识到了良好的代码会对以后的开发打下稳固的基础,但当你要求小组成员们进行修改代码时,你是否也拿不出系统的指导作为行动的依据?等等,此类情形遍布于现在的软件界中。那么,现在你们的问题都可以被解决了,因为软件工程界大师Martin Fowler为我们呈上了他的力作《Refactoring: Improving the Design of the Existing Code》,答案就在其中。<br /><br />1.关于重构<br />Refactoring即重构,他是指在不改变现有代码外部行为的条件下,对其内部组织方式进行修改,使其具有良好的结构,和更好的可扩展性及可维护性。重构是近几年来才在软件工程领域推出的一个方法论,其最初起源于极限编程(Extreme Programming)过程方法中,但很快就因其完善系统的理论原则和其对软件开发所带来的极大的利处而被其它的软件开发过程所采用,并得到了软件开发人员的认可,在软件工业界也得到了良好的应用。<br /><br />提到重构就不能不提到预先测试(up-front testing)和设计模式(Design Pattern)。预先测试也同样来自于极限编程领域,是指在编写代码前就要将测试先写好,作为书写代码的根据,也就是说,编写的代码最终就是要使测试通过。但在实践中,一般是先写部分测试,再写一点程序代码,测试通过后,再写一些测试,再写一点代码使测试通过,如此迭代进行下去直到满足了所有需求为止。预先测试虽不是专门为重构所准备,但它却成为了重构的一个保障。修改代码就必然会带来风险的,也必然会引进新的错误,所以重构时就必须修改一点就测试一下,如果测试通过就再修改一点,可以说重构是一个循序渐进的过程,不可能一下子就得到了最终的结果。<br /><br />与重构紧密相连的另一个领域就是设计模式。虽然我们知道重构是为了使代码更优美,但怎样才算达到了重构的目标呢?设计模式为我们指明了方向,在GoF(四人帮)的经典著作《Design Pattern》中就提到过这一点,虽然设计模式是业界所认可的良好的软件设计结构,但不可能从软件开发的开始阶段就把软件按设计模式全面地进行设计,那样只会带来是过分设计,最终浪费了大量的时间却无法获得良好的效果。而重构恰恰可以看作是软件设计的一个修正品,它可以在软件开发的过程中不断的修改现有的程序结构(即设计),而使软件的设计朝着设计模式的方向开去。这也真是重构的目标之所在。<br /><br />有关重构的其它一些知识我就不在这儿罗嗦了,大家可以从这本书中慢慢吸取。<br /><br />2.关于本书<br />这本书可以说是讲述重构最经典的著作了,作者严谨求实的态度也再一次从本书中得到了验证,可以看得出作者在写这本书的时候倾注了不少心血,花了不少心思。首先值得称道的是,作者没有因循守旧地来一开场就讲述重构的理论原则,而将读者带入泛泛的术语介绍之中,他别出心裁地以一个生动的例子作为开场,使读者一下子就对重构有了一个清楚的了解,并能够认识到重构所带来的好处,使你立刻就被吸引住了。接下来,在吸引住你之后,作者才开始讲述重构的理论原则。另外,在本书中作者还使用了一个恰当的比喻-代码的坏味儿(Bad Smell in Code),明确的指出了哪些代码需要重构,这些气味可以帮助我们有效地来识别劣质的代码。<br /><br />此书最重要的一部分也就是重构的编目部分(Catalog of Refactoring),在这一部分,作者将重构按照一定的格式进行整理编目,每个重构都是由名字(Name)、综述(Summary)、动机(Motivation)、机制(Mechanics)和实例(Example)所组成,这样便可以方便我们进行查找和使用,同时也为我们在软件开发过程中使用和交流重构提供了一套统一的术语。<br /><br />3.关于作者<br />不能不提的是本书的作者Martin Fowler,这位软件工程领域的大师级人物,他的多部著作已经被广泛流传,可以说,他制造了很多个经典,如:《UML distilled》、《Analysis Patterns》、《Planning Extreme Programming》和这本《Refactoring》。这些书每一本都值得我们认真地阅读和领会。

2003-10-19 22:03 threehair
是没有看过,可惜~~~~~~~~也没发加精 <!--emo&:huh:--><img src='style_emoticons/default/huh.gif' border='0' style='vertical-align:middle' alt='huh.gif' /><!--endemo-->

页: [1]
查看完整版本: 《refactoring》书评


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.