Skip to main content

Legacy Code Skills

Refactoring

Refactoring: Improving the Design of Existing Code by Martin Fowler (Book | Online Catalog)

Working Effectively With Legacy Code

Working Effectively With Legacy Code by Michael Feathers (Book | Summary | Interview)

Technical Debt / Maintenance Load

Quantifying Technical Debt by Chelsea Troy (Article | Talk)

Naming as a process

Naming as a process by Arlo Belshee (Archive link)

Good naming is a process, not a single step

This read-by-refactoring style centers names as the driving force. By gradually capturing insight in code, we bring the components (and their names) to increasing stages of clarity over time.

  1. Missing
  2. Obvious Nonsense
  3. Honest
  4. Completely Honest
  5. Does the Right Thing
  6. Intent Revealing
  7. Domain Abstraction

To see a similar incremental style on real code, watch this Refactoring session by Woody Zuill and Llewellyn Falco.