Programming first principles – 6. Premise – Minimize propagating changes throughout the system

Video version of this article: https://youtu.be/Rd9FWbjf5ic

Our next premise is that we must minimize propagating changes throughout the system.

This follows from our premise of minimal information:

  1. Propagating changes throughout a system means we need to be aware of additional required changes.
  2. This means we need to be aware of more things than if there were no additional required changes.
  3. This conflicts with our premise of minimal information.

It is also a suggested requirement for making systems that are easy to change:

  1. Less propagating changes means less changes are required overall.
  2. Which means less work is required to change the system.
  3. Which suggests that the system is easier to change.

This article is part of the "Programming first principles series":

  1. Purpose - What this series is about
  2. Audience - Who this series is for
  3. Requirements of software
  4. Premise - Minimal information
  5. Premise - We must understand what we're doing
  6. Premise - Minimize propagating changes throughout the system (this article)
  7. Premise - Complexity increases exponentially with scale
  8. First principle - Proof that code works
  9. First principle - Principle of least astonishment
  10. First principle - Principle of least knowledge
  11. First principle - Separation of concerns
  12. First principle - Abstraction
  13. Side effects

Also suggested:

Share this post

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on pinterest
Share on print
Share on email