202312091440 Eliminate effects between unrelated things
#newAlso known as orthogonality1, we should strive to design systems that reduce or eliminate the effects of unrelated things. There are countless benefits, but they generally boil down to 202205031449 Optimize for change and 202203221620 The golden rule of programming.
When it's possible for us to understand and change parts of a system in isolation with the knowledge that our changes won't affect other things, everything simplifies greatly.
Even better, use technology that enforces these separations for you so you can know with 100% certainty that this is how it works.
-
Thomas, D., & Hunt, A. (2019). The pragmatic programmer, 20th anniversary edition: Journey to mastery (Second edition) (pp. 39). Addison-Wesley. ↩