• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

納品物の中によく「ソースコードのドキュメント」とありますが、いちいち作るのがめんどくさいです。

しかも、そのドキュメント作成の工程が「○人日」とかになってたりします。

ドキュメントは大切ですが、どうしても楽したいですよね。(僕だけ?)

そこで、Doxygenを使ってドキュメントを自動生成します。

Doxygenを使うドキュメント生成は、

  • 普段から決まったコメントの付け方をする
  • Doxygenの使い方を覚える
  • Doxygenでドキュメントを生成している時間待つ

の3つを行うだけで、簡単にできます。

生成されるドキュメントには、HTML形式や、TeX形式などがあります。

準備編

インストール

とりあえず、Linuxのみのインストール方法です。

yum系の場合(CentOS5.2 で確認)

shell>>

yum install doxygen

<<shell

apt系の場合(確認してないですが、おそらく)

shell>>

apt-get install doxygen

<<shell

ソースコードのコメントの書き方

JavaDocスタイルとQtスタイルに対応しています。

詳しくは、Doxygenのマニュアルのコードのドキュメント付けを参照してください。

普段からこの書き方を心がけていれば、初めは面倒でも、だんだんと慣れてくると思います。

Doxygenを使ってみる

準備が終わったところで、さっそくDoxygenを使っていきます。

Doxyfileの生成

まず、プロジェクトのディレクトリに移り、
shell>>
$ doxygen -g
<<shell
とし、Doxyfileというものを生成します。

Doxyfileの編集

次に、生成されたDoxyfileを編集します。

デフォルトでは、Doxyfileと同じディレクトリのソースコード類に関してドキュメントが生成されます。

これは、460行目あたりの** INPUT **のあたりを変更すると、別のディレクトリを参照するように変更できます。

必ずしておくほうが良いのは、230行目あたりの

textile>>
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
<<textile

を、

textile>>
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
<<textile

に変更することです。

今回は、超簡単な使い方なので、詳細は省きます。

ドキュメントの生成

shell>>
$ doxygen
<<shell
と実行すると、ドキュメントの生成が始まります。

しばらく待つと、完成です。

最後に

以上で超簡単なDoxygenの使い方でした。

これで、「ソースコードのドキュメント1人日で作ってね」と言われても、「え、そんなの10秒でできますが」 と答えれますね!

作業効率がUPです♪

また時間があれば、Doxygenの使い方を詳しく見ていきたいと思います。

posted by y_tsuda y_tsuda on Tue 17 Feb 2009 at 02:14 with 0 comments
Contents rssrss
Xperiaにインストールして1週間生き残ったアプリたち
gem serverをIE8から見るとヒドイことになる現象を解決
gem serverをIE8から見るとヒドイことに
Twitter, Account Suspended
GentooにRuby1.9をインストールした
GentooにScalaをインストールしてみた
多面ディスプレイ環境を手作りしてみた
lower-camel caseな文字列とアンダースコア区切りな文字列の相互変換をRubyで
topコマンドでのCPUコア毎の表示
Fedora11 (on VirtualBox) 速効レビュー
Tags
rubyGentooDIYFedoralinuxmemoScalatwitterunixvirtualboxweb
Comments rssrss
rysonqem rysonqem: something new and exciting rysonqem http://www.g2... 04/23 23:37
cvcwcbbfp cvcwcbbfp: something new and exciting [url=http://www.g1h6r6... 04/10 13:40
Aleksey Aleksey: The uname check is only due to a somewhat sloppy t... 02/02 07:03
Yu Tsuda Yu Tsuda: あぁ、そうですね、、syncすると戻ってしまいますね・・・。 ご指摘ありがとうございます!! 07/11 15:38
ursm ursm: /usr/portage 以下のファイルは更新のたび元に戻ってしまうので、/etc/portage/... 07/11 13:46
Yu Tsuda Yu Tsuda: 見た目だけでも、わざわざGentooをこういうリストに入れてるのがすごいなぁと思ったりしたのです(笑... 03/31 19:49
Leonard Chin (レオ) Leonard Chin (レオ): ただし、VirtualBoxで「Gentoo」などを選択しても、別にどのOSを入れても大丈夫だ。あく... 03/31 13:00
Yu Tsuda Yu Tsuda: この機能、結構便利なんですよねー。 またEmacsで便利な機能を見つけたらブログに書きまーす。 11/27 23:46