1999
Martin Fowler defines refactoring
Martin Fowler's book refactoringRestructuring code without changing behavior — improving design while keeping tests green. gives refactoringRestructuring code without changing behavior — improving design while keeping tests green. a precise definition and a catalog of safe code transformations.
Quote
“[refactoring] is a controlled technique for incrementally improving the design of an existing code base.”
What it was for
Before Fowler, 'refactoringRestructuring code without changing behavior — improving design while keeping tests green.' was vague cleanup work. His catalog — extract method, move field, rename — became IDEIntegrated development environment — an editor with debugging, build tools, and project management built in. menu items and code review vocabulary. The definition still anchors agileAn iterative software development style — short cycles, continuous feedback, and adaptive planning. discussions of paying down debt without changing behavior.
People
- Martin Fowler — author
Why it's here
The sentence that turned refactoringRestructuring code without changing behavior — improving design while keeping tests green. from slang into engineering practice.
Why it mattered
It legitimized structural code changes as a disciplined, test-backed activity.
What it solved
TeamsMicrosoft Teams — chat, video calls, and Office integration for workplace collaboration. feared changing working code without a shared pattern language.
Media
ImageMartin Fowler (software engineer)Webysther Nunes, CC BY-SA 4.0, via Wikimedia Commons