• Advertisement
  • entries
    1212
  • comments
    1738
  • views
    1143712

Doxygen is a Good Thing

Sign in to follow this  

129 views

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.
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement