<aside> <img src="/icons/hare_gray.svg" alt="/icons/hare_gray.svg" width="40px" />

Good Design Is Easier to Change Than Bad Design

</aside>

From Pragmatic Programmers Book : The Essence of Good Design :

Good Design Is Easier to Change Than Bad Design.

A thing is well designed if it adapts to the people who use it. For code, that means it must adapt by changing. So we believe in the ETC principle: Easier to ChangeETC. That’s it.

As far as we can tell, every design principle out there is a special case of ETC.

Why is decoupling good? Because by isolating concerns we make each easier to change. ETC.

Why is the single responsibility principle useful? Because a change in requirements is mirrored by a change in just one module. ETC.

Why is naming important? Because good names make code easier to read, and you have to read it to change it. ETC!