Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.
About The AuthorMartin Fowler is an independent consultant who has applied objects to pressing business problems for more than a decade. He has consulted on systems in fields such as health care, financial trading, and corporate finance. His clients include Chrysler, Citibank, UK National Health Service, Andersen Consulting, and Netscape Communications. In addition, Fowler is a regular speaker on objects, the Unified Modeling Language, and patterns.
Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.
Table Of Contents - Refactoring, a First Example.
- Principles in Refactoring.
- Bad Smells in Code.
- Building Tests.
- Toward a Catalog of Refactorings.
- Composing Methods.
- Moving Features Between Objects.
- Organizing Data.
- Simplifying Conditional Expressions.
- Making Method Calls Simpler.
- Dealing with Generalization.
- Big Refactorings.
- Refactoring, Reuse, and Reality.
- Refactoring Tools.
- Putting It All Together.