Keep it simple, stupid. Or keep it simple stupid. Or keep it simple and straightforward.
But please, do it for other programmers. Do it for yourself, for your own sanity. Stop overdesigning and ‘designing for the future.’ Stop designing for ‘what may happen in the future.’
You don’t need utterly complicated designs. You are not an oracle and you cannot tell what your application will need to do in the future. So please solve a concrete problem and move on.
95% of the time you are overdesigning your code. Solve a problem now. Refactor later. Thank you!
