なかなか伝わらないDoxygenのよさ

とても不思議なことをひとつ挙げるとすれば、Doxygenのよさが認識されていないことと言うのはその有力な候補です。なぜこのソフトが流行らないのか、それは21世紀のなぞのひとつと言っていいのではないでしょうか。とっくにDoxygen祭りが流行っていても不思議ではないのですが。

                \ │ /
                 / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< Doxygen Doxygen!
                 \_/  \_________
                / │ \
                    ∩ ∧ ∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩∧ ∧∩\( ゚∀゚)< Doxygen Doxygen Doxygen!
Doxygen 〜〜〜〜! >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
                    ̄

その1 コメントが文書になる

プログラムに書いたコメントが、プログラムの文書として整形されます。文書はタイトル、概要、詳細などに分類され、自分が書いた関数のパラメータや、アルゴリズム、マクロの働き、構造体メンバーの役割などがきちんと記述されます。
プログラムとコメントを同時に書きさえすれば、プログラムを書くと同時に文書化が進んでいくことになります。そして、プログラムを書き終わると文書化終わり。
とっても楽チンです。

その2 ソースがハイパーリンク化される

プログラムの中の識別子がすべてハイパーリンク化されます。ファイル名、変数名、関数名、型名などがリンク化され、クリックするとそれぞれの説明文書にジャンプします。html文書なので、普通のブラウザで自分のプログラムをどんどんブラウズできます。すっかり中身を忘れてしまったプログラムの保守も楽になります。
とっても楽チンです。

その3 各種フォーマットに変換できる

htmlに限らず、MS HELP、TEXXMLなど各種フォーマットの出力を取り出すことができます。
いいと思うんだけどなぁ、Doxygen

Doxygenスクリーンショット

ソースコード

決まった形でコメントを書くと、関数のコメントをDoxygenソースとして認識させることができます。Doxygenが認識するコメントは次の形式です。

/**
*/

思うところあってこのサンプルは英語でコメントを書いていますが、日本語もOKです。

マクロや関数の一覧

コメントをつけた関数は文書先頭の一覧に現れます。関数はソース単位でまとめられますが、プログラマが指定する「モジュール」単位で集めることもできます。たとえば複数ファイルに分散した「数学関数モジュール」とか。

関数の説明

コメントとして書いた文章が関数のドキュメントとして整形されています。

HTML化されたソースコード

青字はクリッカブル・リンクです。変数名や関数名がリンクになっているほか、文法要素がカラーリングされます。