Over-engineering
Meaning in software engineering, with examples
In software engineering, over-engineering means: Making a solution more complex than the problem needs, for example adding layers, options or flexibility for future needs that may never come.
In Turkish: aşırı mühendislik, gereğinden karmaşık tasarım
How it is used
A common review comment: 'This feels like over-engineering.' The adjective 'over-engineered' is common too. Related ideas are YAGNI ('You Aren't Gonna Need It') and 'keep it simple'. The opposite risk is a quick hack that is hard to extend.
Example sentences
A plugin system for two report types sounds like over-engineering to me.
Our config system is a case of over-engineering: nobody uses half of its options.
Common collocations
- avoid over-engineering
- over-engineered solution
- YAGNI
- keep it simple
Related terms
More terms: Architecture, Design Patterns and Graphics
Practise with graded reading
Reading at the right level is the fastest way to make new words stick. Pick free English books by level:
