🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Doxygen is a Good Thing

Published May 16, 2002
Advertisement
I've got another free tool today, and this one's a real winner. I mean, this is the kind of tool that you'd expect to pay $995 for out of a programmer catalog, but it's free. Bryan mentioned it quite some time back, but it bears mention again.

It's Doxygen. I always like the idea of diagramming and documenting my objects. Even with a one-man project, it's easy to lose track of your project when it becomes non-trivial. I never, though, got used to the object-browsing tools that came with VC++. While they work, they're not good at giving you a good overview of your project. Doxygen fixes this problem. It obsessively digs through your C++ code and headers, documenting your objects for you. If you've ever seen the auto-generated Java documentation, you'll get an idea of the kind of stuff it makes, but this thing does much more. It builds indexes, class heirarchies, detailed object descriptions, and even very nicely colored and formatted code listings. While it can generate LaTeX or RTF for printing, it shines in generating HTML, building a fully browse-able code listing.

It also optionally interfaces with Graphviz, which is a command-line tool that can make dots-n-arrows graphs out of textual descriptions. It talks seamlessly to Graphviz, building diagrams and putting 'em in your HTML. Here's an example of something it made from my code. This is an inheritance diagram of my OKButton class. The solid arrows show inheritance, and the dotted ones show containment.



While I would've preferred Booch-clouds, it looks like Booch has gone the way of the dodo.

Doxygen is a command-line tool with a bewildering array of parameters, but if you download the binary distribution of Doxygen for Windows, it includes a very nice wizard-tool that sets up your options and calls the tool for you. It's got a nice set of defaults, so you can generate a decent report just by setting the report directory and source files to read.

I'll probably be putting this gizmo in the "tools" menu of VC++, so I can generate HTML whenever I wanna browse my source.

In conclusion, don't hesitate to try this thing out. It's easily as good as the commercial tools I've found, but it's 102% free.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement