重构手册
2004-5
中国电力出版社
韦克
235
无
利用这本通过示例“说话”的实例手册,可以充分发挥重构的强大功能,改善现有的软件。
身为程序员,你必须具备的一个基本功就是能够找出并改善有问题的代码,使程序能够在软件的整个生命周期中正常运转。重构可谓是安全地改善既有代码设计的一门艺术,由此可以提供高效而可靠的系统,使纷杂凌乱归于平稳有序,并能最大限度地抑制异常的出现!重构可能很难掌握,但是在专业顾问William C.Wake所撰写的这本书中,经由作者娓娓道来,有关内容得以通过一种易于学习的方式展现出来,不仅使学习之旅颇具实效,而且充满乐趣。
对于许多人来说,学习重构的最大障碍是如何找出代码的“坏味道(smell)”,即可能存在问题之处。本书并非让你流水帐式地通读这些坏味道,而是确保你对这些坏味道有切实的理解。在此奉上了一系列精心组织的问题,通过这些问题的解决,你将会茅塞顿开,不仅会在更深层次上了解重构,而且还将获得你自己的一些心得体会。Wake采用了实例手册的方式来组织全书,以帮助你了解最为重要的重构技术并将其应用于代码之中。这是一种强调学习的方法,要求你必须充分应用本书所提供的诸多技术。除此之外,这种方法还有一个附带的好处,即尽管当前你所作的工作也许并非重构,利用本书也将有助于你更多地考虑如何创建优质的代码。
本书提供了以下优秀特性,可令读者轻松上手:
·方便的“坏味道”速查手册(嗅探工具)
·描述“坏味道”的标准格式
·介绍关键重构技术的附录
·支持重构的Java工具列表
本书面向有Java经验的程序员,不过C#或C++程序员若对Java有基本了解,也能顺利地阅读本书并学习书中的示例。本书可以作为Martin Fowler所著《重构——改善既有代码的设计》(中文版和影印版均已由中国电力出版社出版)一书的姐妹篇,该书对多种重构技术提供了循序渐进的介绍。
Willian C.Wake是一位独立软件顾问、教员和培训师。他致力于程序设计已逾20年,曾任职于Capital One Financial、MCI/WorldCom和VTLS等世界知名大公司。他还是《Extreme Programming Explored》一书的作者。
Preface1 ROADMAP Overview Section 1: Smells within Classes Section 2: Smells between Classes Section 3: Programs to Refactor A Word on the ChallengesSECTION 1 SMELLS WITHIN CLASSES 2 THE REFACTORING CYCLE What Is Refactoring? Smells Are Problems The Refactoring Cycle When Are We Done? Inside a Refactoring Challenges Conclusion 3 MEASURED SMELLS Smells Covered Comments Long Method Large Class Long Parameter List More Challenges Conclusion INTERLUDE 1 SMELLS AND DEFACTORINGS 4 NAME Smells Covered Type Embedded in Name (Including Hungarian) Uncommunicative Name Inconsistent Names 5 UNNECESSARY COMPLEXITY Smells Covered Dead Code Speculative Generality INTERLUDE 2 INVERSES 6 DUPLICATION Smells Covered Magic Number Duplicated Code Alternative Classes with Different Interfaces Challenges 7 CONDITIONAL LOGIC Smells Covered Null Check Complicated Boolean Expression Special Case Simulated Inheritance (Switch Statement) INTERLUDE 3 DESIGN PATTERNSSECTION 2 SMELLS BETWEEN CLASSES 8 DATA Smells Covered Primitive Obsession Data Class Data Clump Temporary Field 9 INHERITANCE 10 RESPONSIBILITY 11 ACCOMMODATING CHANGE 12 LIBRARY CLASSES 13 A DATABASE EXAMPLE 14 A SIMPLE GAME 15 CATALOG 16 PLANNING GAME SIMULATOR 17 WHERE TO GO FROM HERESECTION 4 APPENDIXESBIBLIOGRAPHYINDEX
无
不多说了,经典~~~~~~