10
votes
2answers
244 views

What tools or techniques are useful for describing an unfamiliar codebase?

When manually inspecting unfamiliar code (to review or modify), I seem to have three options. A top-down read of the code, choosing each next source file by how fundamental the filename seems. I ...
124
votes
31answers
14k views

How do you dive into large code bases?

What tools and techniques do you use for exploring and learning an unknown code base? I am thinking of tools like grep, ctags, unit-tests, functional test, class-diagram generators, call graphs, ...