This question already has an answer here:
Concretely I am looking at this 2000 line file of what I will pretty arbitrarily call "mediocre" code.
- It's not well-commented
- variable names and function names seem consistently intelligent
- functions are not well-documented
- functions are good length
In short: its lines and small structures are readable, but it's impossible to infer architecture or design at a glance. Most code I've worked on can be described thusly, to be fair.
So I need to understand this. And work on it. This is an important skill in software development I'm still weak at, and it's extremely important when working in a nascent system.
So my question is, when encountering foreign code like this that I am employing as client code but now need to understand and modify, what is a quick strategy for having a good understanding?