Outline:
- Jason Orendorff took the role of guinea pig by reading through a random python library (argparse) as we watched.
- The first goal was to quickly absorb the contents of the argparse library and to understand code organization.
- The second goal was to identify the source of a bug in the code.
- We had a conversation about what we learned.
- We turned the tables and I became the next guinea pig reading through redis-py.
Learnings:
For me - I realized that code reading is effectively a tree traversal - you have to mentally understand how the code tree is "shaped", and as you're reading code, you have to constantly reevaluate the most optimal path to take in order to learn what you need from the code.
The trick is in pruning the tree.
I think there is an intuitive element in learning what code to dig into and what code to ignore or come back to later. Watching Jason, I got a better idea of how another developer approaches this problem, and we were able to ask about some of the intuition that backs his decisions. Another interesting thing was to learn about the tooling and dev environment that others work in.
This was fun! I plan to do it again soon.
~John Berryman