refactoring-analysis
Refactoring Analysis
Audit a codebase against Martin Fowler's Refactoring (2nd ed.) and produce a prioritized
report. Every finding names a smell, cites the real file:line you read it at, and maps
to a Fowler technique — grounded in code you actually read, never generic advice. When a
step names a reference, read it in full before producing that step's findings.
Steps
1. Scope. Fix the target — directory, module, feature area, or whole project; ask if the user did not say. Note the language and paradigm (OOP / functional / mixed) to calibrate which smells apply. If the target exceeds ~50 files, ask to narrow or confirm a sampled scan. Done when: target, language, and paradigm are recorded.
2. Detect smells. Scan for every category in references/code-smells-catalog.md, using its
heuristics: Bloaters, Change Preventers, Dispensables, Couplers, Conditional Complexity, DRY
Violations. For each hit record: file:line range, smell name + category, severity
(critical / high / medium / low), and its cost to maintainability, readability, or
change. Flag an ambiguous case as potential with the context that might justify it.
Done when: every category above has been scanned, not only the ones that fired.