DEV Community

Discussion on: When does abstraction become over abstraction?

Collapse
 
pchinery profile image
Philip

Uncle Bob has put this into a nice perspective, even if in a different context: when two things evolve at a different pace.

If you have two things that look quite similar, but might change at different speed into different directions, it will be harder to take the step back in future and see, that these two need to be separated again. It is more likely that you will add complexity to handle this instead.

This is rather about estimating and evaluating what might happen in the future and to be prepared for that, as in most architectural decisions, where there is less right and wrong and more compromise between goals that can't be achieved at the same time (easy understanding, simplicity, speed, ability to change, reuse etc.)