Whenever I came new to a C++ or Java project, I always needed many hours of staring and browsing code to understand and abstract the main architecture.
In other hand, one could watch better a visual representation of an execution instance profile with tools like graphviz, dot, Gprof2Dot, etcetera than reading the profile summaries.
I tell the profiling case only for the analogy. What I'd wanted was in fact a tool somehow similar to xcruiser. This is a @#$%ing AWESOME (as much as useless) program developed circa ten years ago (this is mid 2013 now as wrote) yet still compiles and works perfectly with no sources patch. If you want to miss it live (this Debian box compiled it straightforward), screenshots like this can be browsed in search engines of the Internet.
Getting back real, how do intelligent people get easy inside a project visually before losing h**self in the code?
I look at the tests to see how small bits of it work. If there are none, I write some and learn that way. I will tend to run doxygen over it even if it doesn't have doxygen style comments - that will still produce a few clues of how it fits together. I try making some parts private and seeing what doesn't compile.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With