SOLID & Design Patterns Interview Question #131
What is the YAGNI principle?
Anti-Patterns, Refactoring, DI Lifetimes & Senior Design Scenarios Senior Advanced
Quick Interview Answer
YAGNI means You Aren't Gonna Need It. It advises against implementing speculative features or extensibility before there is a real requirement.
Detailed Explanation
YAGNI means You Aren't Gonna Need It. It advises against implementing speculative features or extensibility before there is a real requirement.
YAGNI does not mean ignoring foreseeable architectural constraints. It means distinguishing necessary design work from speculative functionality that adds maintenance cost without current value.
Code Example
// Requirement today:
Generate PDF invoice.
// Do not automatically build:
// PDF + DOCX + XML + CSV + plugin system
// unless those variations are required.