Refactoring Selective Reading Guide
The lessons are the main path. Use a book to resolve a named gap, then close it and apply the idea to an independent case. Full-book study adds to the module budget.
Selected excerpts were consulted in Books/Refactoring/contents/:
| Local filename | Topic | Stopping evidence |
|---|---|---|
| 013-defining-refactoring-and-the-two-hats.md | Structure versus intentional behavior change | Separate preservation and repair claims |
| 032-the-value-of-self-testing-code.md | Fast automatic feedback | Explain what the checker does and misses |
| 038-extract-function-part-1.md | Intent, mechanics and locals | Extract without changing effect order |
| 043-change-function-declaration.md | Simple and migration mechanics | Preserve an external caller during rename |
| 048-split-phase.md | Intermediate data contracts | Preserve lookup and conversion order |
| 067-consolidate-conditional-expression-and-replace-nested-conditional-with-guard-clauses.md | Consolidation and conservative purity guidance | Explain safe short-circuiting and an eager counterexample |
The Refactoring book index locates the source; it is not an exact chapter link. The entire book was not audited. Feathers' Working Effectively with Legacy Code is optional depth on characterization and seams; no local full-book review is claimed. Clean Code and Tom Long's Good Code, Bad Code provide optional readability and boundary comparisons.
Primary online documentation
- Danilo Sato: Parallel Change: expansion, migration and retirement. For shared mutable state, add the mixed-client invariant exercised here; overloads alone are insufficient.
- Fowler: Branch by Abstraction: gradual supplier replacement.
- Patterns of Legacy Displacement: broader migration and organizational context; introductory page consulted, not every linked pattern.
- MDN Array.reduce: sparse-array and traversal semantics.
- MDN logical OR: evaluation order and short-circuit behavior.
- Git bisect documentation: locating a failing revision rather than diagnosing individual edits.
- Google Engineering Practices: Small CLs: coherent reviewable changes, not an arbitrary line or commit quota.
The kit is self-contained and works offline. Online links are selective reference, not mandatory videos with unverified durations.