![[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