So true. Too many developers suffer from the "premature generalization" syndrome. Rather, write stuff twice. Only when you find yourself writing it the third time, then consider if generalization is feasible. If you are psychic, you will recognize single responsibilities right away and you will know if the code you write will change for the same or for different reasons. The rest of us will more often than not have to recognize responsibilities and follow the S in SOLID a bit later.

I write about life, universe and software development.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store