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, code metrics like sloccount, and so on. I'd be interested in your experiences, the helpers you used or wrote yourself and the size of the codebase,code base with which you worked with.
I realize, that thisbecoming acquainted with a code base is also a process (happeningthat happens over time), and that learningfamiliarity can mean "can give a ten minute intro"anything from "I'm able to "cansummarize the code" to "I can refactor and shrink thisit to 30% of the size". Let's leave that open for now. But how to even begin?