Refactoring Workbook

De (autor)
Notă GoodReads:
en Limba Engleză Carte Paperback – September 2003
Refactoring has gained widespread acceptance in the software engineering community as a proven means of improving software. Martin Fowler's seminal book on this topic, Refactoring, 0201485672, has been used in the classroom to explain that existing code could be improved and enhanced without significantly altering the fundamental structure of an application. But many find that this concept has a steep learning curve that inhibits its use. In this new book, William Wake offers a more introductory look at this important topic. The author outlines a proven workbook approach to learning and applying refactoring to “everyday” projects. This approach relies on examples that force the student to apply the main concepts of refactoring. As a result, readers gain thorough knowledge of how refactoring can help improve their software.
Citește tot Restrânge

Preț: 20429 lei

Puncte Express: 306

Preț estimativ în valută:
4120 4644$ 3671£

Carte disponibilă

Livrare economică 02-16 iulie
Livrare express 29 iunie-09 iulie pentru 3031 lei

Preluare comenzi: 021 569.72.76


ISBN-13: 9780321109293
ISBN-10: 0321109295
Pagini: 235
Ilustrații: illustrations
Dimensiuni: 186 x 236 x 15 mm
Greutate: 0.44 kg
Ediția: 1
Editura: Addison-Wesley Professional
Locul publicării: Boston, United States



1. Roadmap.
Overview. Section 1: Smells within Classes. Section 2: Smells between Classes. Section 3: Programs to Refactor. A Word on the Challenges.I. 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 Refactorings.
4. Names.
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 Patterns.
8. Data.
Smells Covered. Primitive Obsession. Data Class. Data Clump. Temporary Field. 9. Inheritance.
Smells Covered. Refused Bequest. Inappropriate Intimacy (Subclass Form). Lazy Class. 10. Responsibility.
Smells Covered. Feature Envy. Inappropriate Intimacy (General Form). Message Chains. Middle Man. Challenges. 11. Accommodating Change.
Smells Covered. Divergent Change. Shotgun Surgery. Parallel Inheritance Hierarchies. Combinatorial Explosion. 12. Library Classes.
Smells Covered. Incomplete Library Class. Challenges. Interlude 4. Gen-A-Refactoring.
13. A Database Example. (Online at 14. A Simple Game.
Development Episodes. 15. Catalog.
Introduction. Path 1: Catalog.itemsMatching(query). Path 2: Query.matchesIn(catalog). Path 3: Process(, Conclusion. 16. Planning Game Simulator.
Part 1: Original Code. Part 2: Redistributing Features. Removing Duplication, Selection Troubles, and a Few Burrs. Part 3: Pushing the Code Further. 17. Where to Go from Here.
Books. Admonitions. Exercises to Try. Web Sites.IV. APPENDIXES.
A: Answers to Selected Questions.
B: Java Refactoring Tools.
C: Inverses for Refactorings.
D: Key Refactorings.

Notă biografică

WILLIAM C. WAKE is an independent software consultant, coach, and trainer who has been programming for over 20 years. He has previously worked for Capital One Financial, MCI/WorldCom, VTLS, Inc, and others. He is the author of Extreme Programming Explored, also available from Addison-Wesley Professional.

Textul de pe ultima copertă

As a programmer, you need to be able to recognize and improve problematic code, so the program remains in a working state throughout the software lifecycle. Refactoring-the art of improving the design of existing code safely-provides an efficient, reliable system for bringing order to the chaos, and one that keeps the surprises to a minimum! Refactoring can be difficult to learn, but Refactoring Workbook, by consultant William C. Wake, presents the material in a easy-learning format that makes learning enjoyable and effective.

For many, the obstacle to learning refactoring is in identifying the "smells"--the potential problem areas-found in code. Instead of having you read about the smells, Refactoring Workbook makes sure you understand them. You'll solve a carefully assembled series of problems, and you'll find yourself learning at a deeper level and arriving at a few insights of your own. Wake uses the workbook method--a learning-focused approach that forces you to apply the techniques presented in the book-in the rest of the book. This approach helps you learn and apply the most important refactoring techniques to your code and, as a side benefit, helps you to think more about creating great code even when you're not refactoring.

Refactoring Workbook provides user-friendly references such as:

  • A handy, quick-reference "smell finder"
  • A standard format for describing smells
  • Appendices showing key refactorings
  • A listing of Java(TM) tools that support refactoring

This book is intended for programmers with a knowledge of Java, though a C# or C++ programmer with a basic understanding of Java would also be able to follow and learn from the examples. It can be used as a companion to Martin Fowler's Refactoring (also from Addison-Wesley Professional), which provides step-by-step instructions for many refactorings.