Legacy Code
ELI5 — The Vibe Check
Old code that nobody wants to touch but everyone depends on. It usually has no tests, no documentation, and the person who wrote it left the company 3 years ago. It works, but nobody knows HOW it works. Treat it like a bomb.
Real Talk
Legacy code is existing code that is difficult to change, typically lacking tests, documentation, or maintainable structure. Michael Feathers defines it as 'code without tests.' It often uses outdated technologies or patterns.
When You'll Hear This
"Don't break the legacy code — it's holding everything together with duct tape." / "We need to gradually modernize this legacy system."
Related Terms
Brownfield
The opposite of greenfield — a project with existing code you have to work with (and work around). Most real-world development is brownfield.
Refactoring
Refactoring is improving the internal structure of code WITHOUT changing what it does from the outside.
Strangler Fig Pattern
Replacing a legacy system piece by piece instead of doing a risky big-bang rewrite.
Technical Debt
Technical debt is the coding equivalent of putting things on a credit card.