Settings

Theme

Ask HN: How to navigate large code bases?

2 points by paulborza 7 years ago · 3 comments · 1 min read


Are there any good tools out there designed for navigating large code bases? I'm thinking something that can generate class and caller/callee diagrams... Thanks!

davismwfl 7 years ago

Depends on the language of the codebase, but there are various tools that can help you, like doxygen if things are setup well.

My two cents, I always do a manual mapping for the modules and key classes, even in large code bases because it forces me to learn the codebase and create documentation at the same time. I do this by literally starting at main() and tracing the code to what is called first etc. So when I am done I have a high level overview of the path through the code and what modules are what and what they do.

Usually takes a few days to do a larger code base, largest one took me 2 weeks. It isn't the most fun work, but it lets you build documentation to save yourself and others later too.

billconan 7 years ago

My experience is that debugging is more effective than looking at static code. To find callers, I set break points. Other than that, grep, opengrok, doxygen or a decent ide are good helpers.

  • paulborzaOP 7 years ago

    Thanks. I'm looking at doxygen right now. Looks like it has support for generating dependency graphs.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection