3 ms·
My biggest pain point with programming is I am constantly rebuilding mental models of software projects. I think its a problem with the way we write software.
by vaughan 4y ago
My biggest pain point with programming is I am constantly rebuilding mental models of software projects.
I think its a problem with the way we write software. I think all code we write should be visualizable at different levels of granularity, and should be able to show data flowing through it inline. We have all these principles about writing good software such as it should be testable, performant, self-documenting...but I would argue the most important thing is that it should be visualizable! And easily debuggable.
---
I would suggest using a visual debugger and an IDE with static call hierarchy features (sometimes called find usages or find all references).
You should think about how you would build it from scratch. Then fit the existing API to your own mental model of how you would build it. Then it will be easier to understand why people did things a certain way. Many times I will see someone's code and wonder why they came up with such a complicated abstraction layer, but then when you build it yourself you see how it comes very naturally. The problem is for most projects you are looking at the end result of someone else's journey of building from scratch and refactoring along the way as needed.