We learn and are taught to write software, and a lot of time and effort and research has been put into how to do this well, to varying degrees of success. We learn to evaluate libraries based on external factors like tests and documentation, but often we skip the most obvious part.
How do we read source code?
What does it mean? What can we learn from a cursory glance? How can we read something complex? Can we spot legacy concerns? How do we get context for what we read?
I'll explore something simple but with fiddly details -- quite likely node's EventEmitter.
We learn and are taught to write software, and a lot of time and effort and research has been put into how to do this well, to varying degrees of success. We learn to evaluate libraries based on external factors like tests and documentation, but often we skip the most obvious part.
How do we read source code?
What does it mean? What can we learn from a cursory glance? How can we read something complex? Can we spot legacy concerns? How do we get context for what we read?
I'll explore something simple but with fiddly details -- quite likely node's
EventEmitter
.