Refactoring Workbook -  Ross Venables, William Wake

Refactoring Workbook

Buch | Softcover
256 Seiten
2003
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-10929-3 (ISBN)
49,10 inkl. MwSt
Refactoring is the art of improving the design of existing code safely. The book explains that existing code could be improved and enhanced without significantly altering the fundamental structure of an application. It helps you to understand the "smells" - the potential problem areas.
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.

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.

Preface.


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.
II. SMELLS BETWEEN CLASSES.

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.
III. PROGRAMS TO REFACTOR.

13. A Database Example.


Course.java (Online at www.xp123.com/rwb). Offering.java. Schedule.java. Report.java. TestSchedule.java. TestReport.java.

14. A Simple Game.


Development Episodes.

15. Catalog.


Introduction. Path 1: Catalog.itemsMatching(query). Path 2: Query.matchesIn(catalog). Path 3: Process(catalog.data, query.data). 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.
Bibliography.
Index.

Erscheint lt. Verlag 4.9.2003
Mitarbeit Herausgeber (Serie): JOHN FULLER
Verlagsort New Jersey
Sprache englisch
Maße 194 x 233 mm
Gewicht 500 g
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Wirtschaft Betriebswirtschaft / Management Wirtschaftsinformatik
ISBN-10 0-321-10929-5 / 0321109295
ISBN-13 978-0-321-10929-3 / 9780321109293
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90
das große Praxisbuch – Grundlagen, fortgeschrittene Themen und Best …

von Ferdinand Malcher; Danny Koppenhagen; Johannes Hoppe

Buch | Hardcover (2023)
dpunkt (Verlag)
42,90
Programmiersprache, grafische Benutzeroberflächen, Anwendungen

von Ulrich Stein

Buch | Hardcover (2023)
Hanser (Verlag)
39,99