11/23/2010

Doxygenによる開発のカンフル

どうもJudaです。
最近Doxygenをはじめました。
Doxygenはコメント生成ツールでかなりメジャーなものだとおもいます。類似したものにはJavaDocやphpDocsとかあるとおもいます。
Doxygenの導入は基本的にはInstallerをOfficialからもらってきて、終わりだとおもいます。DoxygenのGUIとしてDoxyWizardがついているので、比較的簡単にDocumentの生成まではいけるとおもいます。
GraphVizも簡単に手に入れられるので、いれてみるとよりクラスダイアグラムなどが綺麗に画像データになります。
そして、日本語でDoxygenを動かす際にいくつかの問題が起こると思います。
  1. 出力ファイルで文字化けが起こること。
  2. 入力ファイルが読み込めないこと。
  3. ファイルの検索がうまくされないこと。
1、は基本的にはExpertの設定でDoxygen_OutputEncodingのような設定のパラメータを「Shift_JIS」など日本語に対応したものにすればよいとおもいます。
2、もInputを「Shift_JIS」ないし、日本語に対応したものにして、なおかつ読み込ませるデータのEncodeを整えることと、Encodeできない文字を使用しないということになります。
3、もファイルパスをコピー&ペーストしているとよく起こるのですが、Doxygenでは¥のディレクトリの区切りが利用できないので、/に変換してください。

それで本題。
DoxygenではCalledByやCallという関数での関係性を表示し、リンクを張ってくれる機能があります。
これを利用すると、呼び出し先と呼び出し元をしっかりしらべることができます。さらに、ソースコードを合わせて出力するようにしていれば、対象となる関数のソースコードを表示してくれるので、より一層ソースコードを探検するのが楽になります。

Doxygenを導入すること、運用することには、コメント付けなどいくつかの規約がありますが、単純に関数の呼び出し関係を整理して表示してくれるので、これだけでもかなりツールとしてありがたいものがあります。ただ静的な解析でのサポートなので、動的な解析はたぶんサポートしていません。それでも改修やDebugのときの一助になることは間違いないでしょう。

0 件のコメント:

コメントを投稿