![[I hate design smells at the morning#^overdesign|Every programmer ever]]
## Definition
> The project contains [[Design|design]] from which there is **no direct benefit**
^definition
Usually it is caused by [[Premature Optimization]], which can be solved by adopting [[KISS]] or [[You Aren't Gonna Need It]] principles.
## Consequences
- Cluttered with constructions that are unnecessary, which leads to the overgrowing of the project and reducing its readability
- e.g. predicting changes in requirements and placing mechanisms that will handle potential changes (seems to be good, because flexible design, and preventing nightmarish changes → the effect is the opposite)
- Software is becoming more and more complicated and difficult to understand leading to [[Opacity|Opacity]]
^consequences