Item type | Current library | Home library | Shelving location | Call number | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|---|
Books | American University in Dubai | American University in Dubai | Main Collection | QA 76.76 .R42 W35 2003 (Browse shelf(Opens below)) | Available | 645960 |
Includes bibliographical references and index.
Roadmap -- Smells within Classes -- Smells between Classes -- Programs to Refactor -- A Word on the Challenges -- Smells Within Classes -- The Refactoring Cycle -- Smells Are Problems -- The Refactoring Cycle -- When Are We Done? -- Inside a Refactoring -- Challenges -- Measured Smells -- Long Method -- Large Class -- Long Parameter List -- More Challenges -- Smells and Refactorings -- Names -- Type Embedded in Name (Including Hungarian) -- Uncommunicative Name -- Inconsistent Names -- Unnecessary Complexity -- Dead Code -- Speculative Generality -- Inverses -- Duplication -- Magic Number -- Duplicated Code -- Alternative Classes with Different Interfaces -- Challenges -- Conditional Logic -- Null Check -- Complicated Boolean Expression -- Special Case -- Simulated Inheritance (Switch Statement) -- Design Patterns -- Smells Between Classes -- Data -- Smells Covered -- Primitive Obsession -- Data Class -- Data Clump -- Temporary Field -- Inheritance -- Refused Bequest -- Inappropriate Intimacy (Subclass Form) -- Lazy Class -- Responsibility -- Feature Envy -- Inappropriate Intimacy (General Form) -- Message Chains -- Middle Man -- Challenges -- Accommodating Change -- Divergent Change -- Shotgun Surgery -- Parallel Inheritance Hierarchies -- Combinatorial Explosion -- Library Classes -- Incomplete Library Class -- Challenges -- Gen-A-Refactoring -- Programs to Refactor -- A Database Example -- Course.java (Online at www.xp123.com/rwb) -- Offering.java -- Schedule.java -- Report.java -- TestSchedule.java -- TestReport.java -- A Simple Game -- Development Episodes -- Catalog -- Catalog.itemsMatching(query) -- Query.matchesln(catalog) -- Process(catalog.data, query.data) -- Planning Game Simulator -- Original Code -- Code (Online at www.xp123.com/rwb) -- Table.java -- Background.java -- Card.java -- Challenges -- Redistributing Features -- Five Whys -- Removing Duplication, Selection Troubles, and a Few Burrs -- Pushing the Code Further -- Admonitions -- Build Refactoring into Your Practice -- Build Testing into Your Practice -- Get Help from Others -- Exercises to Try -- Smell Scavenger Hunt/Smell of the Week -- Re-Refactor -- Just Refactor -- Inhale/Exhale -- Defactoring/Malfactoring -- Refactoring Kata -- Java Refactoring Tools -- Inverses for Refactorings -- Key Refactorings.
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 an easy-learning format that makes learning enjoyable and effective. For many, the obstacle to learning refactoring is 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 -- to help 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.
There are no comments on this title.