Back to Catalog
Code Smells
Dispensables
Speculative Generality
Code designed for future needs that never materialize.
Intent & Description
'
🎯 Intent
Identify unnecessary abstraction or flexibility added for hypothetical future requirements.
📋 Context
You have abstract classes, interfaces, or methods designed for future use that never happened. This adds complexity without value.
💡 Solution
Remove unnecessary abstractions. Apply YAGNI principle - build what you need now.'
Real-world Use Case
Use when code includes unused abstractions designed for “future needs.”
Source
📌 TL;DR
Don’t build for hypothetical futures. Remove unused abstractions and follow YAGNI.