Code Observations

Especially with large or complex software systems, we often gain an understanding of how a code base works by making changes to it and observing the effects. When embarked upon deliberately, this takes the form of the scientific method, wherein:

  1. We have an interesting question to ask the world of the software system, or a change we need to make to it.
  2. We form a hypothesis about what we need to change.
  3. We perform a controlled experiment by making small changes to the program.
  4. We observe the effects of our incremental changes.
  5. We refine our hypothesis and perform further experiments until we arrive at a useful program.

Posts on this blog tagged with code-observation leverage this method.

Update 2021-11-29: Hypotheses for these Code Observation articles have felt a bit forced, so subsequent ones will likely focus on simple observation—safaris at the Clojure REPL where perhaps we come a little closer to classifying what we see when evaluating programs.

Copyright © 2021 Daniel Gregoire