9780321793201

Brutal Refactoring More Working Effectively with Legacy Code

by
  • ISBN13:

    9780321793201

  • ISBN10:

    032179320X

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2019-10-15
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $44.99 Save up to $6.75
  • Buy New
    $38.24
    Add to Cart Free Shipping

    NOT YET PRINTED. PLACE AN ORDER AND WE WILL SHIP IT AS SOON AS IT ARRIVES.

Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

Summary

Most software professionals spend much of their time working with someone else's brutally imperfect code. When you consider the serious constraints that legacy code was created under, it's no surprise it looks so bad. The question is: now what? In Brutal Refactoring, Michael Feathers starts with code bases "as they are," not as "we pretend them to be" - and shows how to aggressively reshape them to make them maintainable and amenable to further development.

 

Brutal Refactoring takes the next steps beyond all previous refactoring books, including Feathers' own highly-praised Working Effectively with Legacy Code. Feathers shares new insights reflecting all he's learned in the eleven years since that book, and offers the first detailed practical advice on the unique nuances of system-wide refactoring.

 

Brutal Refactoring demonstrates Feathers' aggressive refactoring techniques through a series of exceptionally realistic case examples, introducing tactical "recipes" and high-level strategies for overcoming a wide range of legacy code challenges. Coverage includes:

  • Making intractable code understandable
  • Componentizing software factory and repository hubs
  • Sensing variables
  • Using in vitro test harnesses and production toggles
  • Mining runtimes
  • Decomposing heavily conditional code
  • Profiling good and bad code bases
  • Detecting and managing code hotspots
  • Uncovering patterns in code duplication
  • Performing domain discovery
  • Managing boundaries between object-oriented and procedural code
  • Using the Twist method to extract classes, and much more

Table of Contents

1. Goal of Work in Legacy Code: Make the Intractable Understandable
2. Componentizing Software Factory and Repository Hubs
3. Sensing Variables and Vise
4. In Vitro Test Harnesses
5. Production Toggles for Aggressive Refactoring
6. Runtime Mining with Hypothesis Logging
7. The Strangler Pattern
8. Testing Fenestras
9. Types of Bad Methods
10. Decomposition of Heavily Conditional Code
11. Scratch Refactoring Techniques
12. Metric Profiles of Good and Bad Code Bases
13. Hotspot Detection and Management
14. Finding Patterns in Duplication
15. Domain Discovery
16. Managing the OO/Procedural Boundary
17. The Twist Method for Class Extraction

Rewards Program

Write a Review