DEV Community

Discussion on: Making illegal state unrepresentable

Collapse
 
nfrankel profile image
Nicolas Fränkel

Really interesting comment.

Let me widen your point. When I was a young engineer, I told to always write a parent interface and abstract class to every class I built, so we could change the design "in the future". Guess what? The future never happened, and we had an overengineered design. Please See Are you guilty of over-engineering? for my whole argument.

Yes, the customer may change their mind. But they might as well not. Or they don't have budget. Or they might have other priorities. Etc. Nowadays, apart from very obvious cases that are indeed context-dependent, I design for the now.