DEV Community

Discussion on: You ain't gonna need it

Collapse
 
murticalen profile image
Alen Murtić

Great article!
I agree that over-engineering produces a lot of bad code. Especially over-abstraction for code that can have one, and only one, implementation.
Though, one should never reject forward-thinking system design, if there is a clear notion that the functionality would be extended and if it takes comparable amount of time to implement it.

Collapse
 
linajelincic profile image
Lina Jelinčić

I couldn't agree more!
Forward-thinking is one of the most fun and important part of being a software developer. The problem occurs when that clear notion is not so clear and when you find yourself solving problems that don't and might never exist.