Working Effectively with Legacy Code
Michael Feathers
41 people recommended it in 14 threads, 2011–2023.
2 commenters pushed back on it — worth reading the threads.
What people on Hacker News said
Well, if the original code is of the worst kind of a mess, Feather's circa 2004 collection of methods to make it more understandable but functionally the same work just fine for the first part of the refactoring.
Feathers (the author) methodologically chose to copy / inspire some of his examples from code he's worked with as a mentor / developer (some of it from his time @ Thought Works w/ Beck, et al.)
The book is similar to Fowler's Refactoring in that it provides some core thought processes / ideology and then a long list of heuristics and techniques for revising/updating legacy code.
I find his definition of "legacy code" as any software without automated testing to be challenging and insightful, especially since it indicts most code written ever. ;)
Working Effectively with Legacy Code (Dealing with an ugly codebase)
Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code)
And on Amazon
Simply supurb, a tour de force
The vast majority of software texts are about greenfield development: creating a new application from nothing at all. But the vast majority of software work involves existing code: adding features, finding bugs, or refactoring code that someone else wrote. This book is a supurb first step in fixing that imbalance. This is not a theoretical work. For example, Feathers does not present a grand ontology of legacy systems. Not is this book heavy on methodology. Instead Feathers describes techniques --- lots of techniques, roughly 50 --- for working with legacy code. The techniques are organized by the problems they address. …
David Bridgeland · verified purchase · 5/5
Valuable, practical advice.
A more accurate title for this book would have been "Unit Testing and Refactoring is How To Work Effectively with Legacy Code" The book operates entirely from that premise, and only spends a little time trying to sell you on the concept. If you're still struggling with that debate, this book may rub you the wrong way. However, I found it to be intensely practical and found the author repeatedly speaking about scenarios that I run into quite often. I would describe myself as someone who finds the whole fascination with design patterns a little optimistic and certainly hype-laden. Useful to be familiar with, but nothing to preach about. …
Brian Deacon · verified purchase · 5/5
It's ok, all should read at least once
My perspective is as a mid-thirties adult male who went straight from college to a job I'm still at 11+ years later, working on a large, sprawling, legacy software suite with almost no unit test coverage. Our software is the culmination of 40+ devs and contractors who came and went over the product's 20+ year lifespan. There was never an architect. There was never much oversight, pretty much pick whatever stack you wanted to build a certain feature as long as the resulting UI was vaguely consistent. …
MinnesotaDrew · verified purchase · 4/5
Where it comes up
- Ask HN: What language-agnostic programming books should I read? 2017 · 19 recommendations
- Ask HN: Best books on managing software complexity? 2022 · 3 recommendations
- Ask HN: What books had the greatest effect on how you structure your code? 2017 · 3 recommendations
- Ask HN: Best book to gift someone for getting into software engineering? 2019 · 2 recommendations
- Top Books on Amazon Based on Links in Hacker News Comments 2016 · 2 recommendations
- Ask HN: Which book are you reading these days? 2015 · 2 recommendations
- What Compsci textbooks don't tell you: Real world code sucks 2012 · 2 recommendations
- What is the single most influential book every programmer should read? 2011 · 2 recommendations
- Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer? 2023 · 1 recommendation
- Extracting Hacker News book recommendations with the ChatGPT API 2023 · 1 recommendation
- Ask HN: Books you plan to read in 2020? 2019 · 1 recommendation
- Ask HN: Books you read in 2016? 2016 · 1 recommendation
- Ask HN: What's the best programming book you've read recently? 2014 · 1 recommendation
- What is the single most influential book every programmer should read? 2011 · 1 recommendation
