Wow. Hub just pointed me at one of the recent GCC developer summit’s talks (also quite interesting: coding rule checking and incremental compilation, which goes along nicely with gold‘s (not-yet-implemented) incremental linking), which presents a static c++ code analysis framework, implemented on top of GCC (I mentioned some previous attempts at that before).
Hopefully the days of rebuilding all of OOo, just to find all places an overloaded member was called, are finally gone…
With some 7 million lines of code (depending on how you count it), mostly c++, OOo is extremely challenging for everybody starting to hack on it. There’s a set of excellent tutorials on building, debugging & hacking on OOo – alas, and the end of the day, smooth coding requires thorough understanding of the inner workings and functional dependencies – in short, the design of OOo. I guess that’s where our documentation story is still lacking (with some notable exceptions, e.g. the API developer’s guide, or the UNO subsystem documentation). The problem with good (design) documentation is that it’s
- hard to write
- tedious to keep up-to-date (in fact, I believe most static source code documentation is always at least partially outdated)
To somewhat fill this gap (and avoid the staleness issue), I’ve setup doxygen-autogenerated source code documentation at go-oo. As of now, this is only a partial set of modules (because of runtime and space constraints) – feel free to drop me a note if your favorite module is missing.
Two examples for auto-generated inheritance graphs: