nDiki : doxygen

doxygen

C++Java、IDL、C 用のドキュメント生成システム。 ソースコード中のドキュメンテーションコメントから、HTML 形式などのドキュメントを生成することができる。 Graphviz を用いてクラス間の関係のグラフが生成する機能などがある。

ドキュメンテーションコメントがなくてもクラス間の関係などを解析してドキュメント化してくれるので、他人のソースコード群をもらったらとりあえずこれを書けて概略を掴むというのも手である。

C のプログラムの場合は ISO C のプロトタイプの形で関数が宣言/定義されている必要がある。 古い形式の場合、protoize 等で変換する必要あり。

Ant との連携

doxygen task (http://www.bgw.org/projects/java/ant/) を用いて Ant から doxygen を呼び出せる。

Naney のフォーマット規約 (C++)

doxygen では様々なスタイルでドキュメントを書くことができる。 以下は Naney がフォーマットを統一するためのメモ

基本的には JavaDoc スタイルを使う。

クラスのドキュメント

 /**
  * @brief 要約説明文。
  *        要約説明文(続き)。
  */

クラス定義の中でのメソッドのグループ化

  /// @name グループの名前
  //@{
  void method1();
  void method2();
  //@}

メソッドのドキュメント

 /**
  * @brief 要約説明文。
  *        要約説明文(続き)。
  *        JAVADOC_AUTOBRIEF は NO で。
  *
  * 上に空行を入れて詳細説明文。
  *
  * @param[in]     入力引数名   引数の説明。
  * @param[in,out] 入出力引数名 引数の説明。
  * @param[out]    出力引数名   引数の説明。
  *
  * @return 返り値の説明。
  */

メンバの後ろに要約

 int var; ///< 要約説明文。

スポンサード リンク

2002年6月1日 (土)

去年の今ごろ

2001年6月1日より。

  • 岩本町・東神田ファミリーバザール
    • 今年も昨日から開催されている。昨年行ってみて、どうも自分の趣向と違うようだったので今年は見にいかなかった。
  • Doxygen で Document を Generate
    • これはアタリ。今も利用している(タマにだけど)。Ant から doxygen を呼び出す extension や、Emacs から利用するための doxymacs 等いろいろ便利なツールもある(後者はまだ使った事なし)。
[ 6月1日全て ]

2004年3月24日 (水)

久しぶりにdoxygen

仕事のJavaC++ ソースコードをドキュメント化するリクエストをもらったので例によって doxygen に通す。 今回は LaTeX 経由でPDFへ。

[ 3月24日全て ]

2006年7月25日 (火)

Perl 用の doxygen のようなツールはないのかな

WiKickerソースコードを人に説明するのにプリントアウトして説明するのに、doxygen のようなツールが欲しいのだけれど Perl 用のものはないのかな。

  1. ソースコードを色付けした HTML に変換してくれる
  2. Pod とコード本体を混在してドキュメント化してくれる
  3. ソースツリー内のファイルをそれぞれ処理してくれて、インデックスファイルも生成してくれる。
  4. できれば識別子がリンクになってくれる

というのが希望。1 だけなら結構いろいろなツールがあり、1 + 2 なら perltidy で実現できる。 しかし 3、4 までしてくれるツールが見つけられない。

とりあえず perltidyPerl::Tidy と File::Find で再帰的にまとめて HTML に変換するスクリプトだけは書いて、一気に変換だけはできるようにしておいた。

インデックスの作成までは面倒なので未着手。

[ 7月25日全て ]

2009年10月6日 (火)

IDETo Do

ソースコードTo Do タスクを埋め込むのにどの形式が良さそげか調査。

Visual Studio 2005

トークンとして "TODO" が登録済み。 大文字小文字を区別する。 コメントの先頭に TODO がある必要がある。 この設定の時に @TODO と書いても認識しない。

トークンには @ 文字を設定できない。

Eclipse

テキストとして "TODO" が登録済み。 大文字小文字を区別する。 コメントの先頭でなくても良い。

この設定の時に @TODO と書いても認識しない。

Doxygen

IDE じゃないけど。 ドキュメンテーションコメント中に \todo または @todo。 \TODO や @TODO は駄目。

ということで

コメントの先頭に TODO を書くという書式で統一しておくのが良さそげ。

Visual Studio 2005 がコメントの先頭以外でも認識してくれるのなら

  /** @todo TODO 説明 */

としておけば、ちょっと冗長だけれど doxygen にも認識させられるのなあと思ったり。

[ 10月6日全て ]

2009年10月22日 (木)

今日のさえずり: 宇宙刑事ギャバンのカッコよさについて会社の女子に熱弁した

naney:4031446527

2009年10月22日

  • 09:23 今日は園児グループと同じ車両に乗車。いつもは避けるんだけれど、何か楽しげなのであえて同乗を選択。 [mb]
  • 09:43 ヨドバシカメラ前の 7。 http://movapic.com/...
  • 10:03 カットモデルといったら、スパッっと切って中のメカニズムが見えるやつだよね。普通。人の頭だって? プラスティネーション?
  • 10:23 @nyafuru Google検索するとカットモデルはヘアモデルの方がトップにきますねぇ。おかしいなあー。
  • 10:45 Visual Studio 2005 IDE Enhancements インストール
  • 11:41 doxygen で INLINE_SOURCES するとすると関数定義の { は行頭にあった方がいいな。
  • 12:57 宇宙刑事ギャバンのカッコよさについて会社の女子に熱弁した。
  • 13:43 FONERA 2.0n か。7,480円は高いな。
  • 16:22 アセロラCマイルドならあった。 [mb]
  • 19:11 昨日駅まで @nyafuru と帰ったら今日「まわりみてもフリース着ている人ワタナベさんぐらいでしたよ」と突っ込まれた。もはやフリースジャケットもマジックテープ財布なのか? [mb]
  • 19:20 うーん確かにこの時間車内にフリース着ている人いないな。っていうか、ほとんどみんなスーツなだけじゃん。 [mb]
  • 22:08 はてなブックマークの「Twitter との連携」設定した。twitterfeed 経由で投稿しているのセルクマになっちゃうかな。
  • 22:13 頂き物の舟和の芋ようかん食した。優しい甘さ。
  • 22:21 もうすぐ22日22:22:22
  • 23:53 今日は Firefox がガンガン落ちるな。
  • 24:35 ヨドバシカメラ前の 7。 [Flickr] http://bit.ly/3MuTjN
[ 10月22日全て ]

2009年11月19日 (木)

今日のさえずり - 秋葉原に変な人がいた

2009年11月19日

naney:4116710630

  • 09:53 秋葉原に変な人がいた。 http://movapic.com/...
  • 10:39 ミノフスキー粒子飲んでみたい。 http://bit.ly/344KUO
  • 10:43 ピカイチ事典を知らないといったら日本人じゃないと言われた。
  • 12:30 2009年11月18日の歩行: 4443歩、3.41km、38分、5.35km/h、消費 171.9kcal、脂肪燃焼 24.5g、2.5エクササイズ。
  • 13:37 秋葉原に変な人がいた。 [Flickr] http://ff.im/-bGjGT
  • 17:58 doxygenC# 処理してみた。XML ドキュメント コメント処理してくれる。これはよい。
  • 18:18 僕の喉を潤しておくれ。 http://movapic.com/...
  • 19:12 Twitter リストの description に日本語入れたら ??? になった。
  • 20:14 @nyafuru 自転車良かったねー。 [mb]
  • 22:29 ThinkPad X200 段ボール箱開封しはじめた。
  • 22:41 ThinkPad X200 起動。
  • 22:44 デザイン的には ThinkPad X31 の方がカッコイイな。慣れの部分もあるだろうけれど。
  • 22:49 @Takemi やはりそこがショボく感じますね。ThinkPad X31液晶画面が枠ギリギリまであってリッチ感がありました。
  • 22:59 ThinkPad X200 筐体の感想: ThinkPad カラーであるブラックの締まりがない。ちょっと黒鉄色っぽい。
  • 23:00 あ、最初から Norton Internet Security 2009 入っているのか。家にある箱出してきておいたんだけど。
  • 23:05 @dai8384 ThinkPad X31 いい機種ですよね。今でもお気に入りなのですが、うちのは起動失敗頻発してもう限界がきているみたいです。
  • 23:06 英語キーボードを選択したので日本語入力に切り替えるキーがない。
  • 23:13 ThinkPad X200 Windows 7 Professional 起動。ThinkPad X31 の時はすぐパーティション潰して全部 Debian GNU/Linux にしてしまったけれど、今回はデュアルブートにはしておくかな。
  • 23:16 @shukaku 自分は Windows でも C-x C-j でトグルするようにしていますが、まっさらだとそれができなくて辛いです。
  • 23:18 そしていきなり「エクスプローラー は応答していません」。
  • 23:22 C ドライブ NTFS 454GB。Q ドライブ NTFS 9.76GB。
  • 23:29 台所に移動。
  • 23:32 ThinkPad X200 のリカバリー・メディア作成用に買っておいた外付けポータブル DVD ドライブ DVSM-PN58U2V-BK を次開梱。 http://bit.ly/3G2J6S
  • 23:37 外付けポータブル DVD ドライブ挿した。一瞬でドライバが入った。スゲー。
  • 23:38 CyberLink DVD Suite ってやつは入れなくてもいいよね?
  • 23:47 [すべてのプログラム]-[Lenovo ThinkVantage Tools]-[出荷時状態へのリカバリー・ディスク]。
  • 23:49 S ドライブもあった。NTFS 1.17GB。
  • 23:54 @noryu_x やっぱり慣れの部分もありそうですね。フタを開く前のぱっと見の第一印象は「横長になったなあ」です。
  • 24:05 @noryu_x 自分はワイド画面には特に抵抗はないです。横長になった分キーボードが広くなったなあという印象です。
  • 24:07 ゲッ、英語キーボードにしたのに Windows キーとかがついている。ThinkPad X31 の時に取り寄せた英語キーボードWindows キーとか無かったのに。
  • 24:10 ブート・メディア作成完了。
  • 24:17 @yamakiyo やっぱり新しい PC は嬉しいですねぇ。バックアップやらパーティション切り直しやらで神経磨り減るけれど。ThinkPad X31 は、ほぼ6年。さすがにちょっとスペック的に辛くなってきました。
  • 24:32 @yamakiyo HDD 死にかけて1回交換したし冷却ファンも爆音を立てるようになって交換してます ThinkPad X31IBM (Lenovo も?) は保守部品自分で取り寄せて交換できるのが良かったです。
  • 24:34 しかしさすがに ThinkPad X31 はもう引退かなあ。電源押して起動ロゴ画面まで進ませるのに何回も電源ボタン押さなければならないし。下手すると4~5分ぐらいかかる。
  • 24:35 実は DVD-R 書き込みするの初めてだったりする。
  • 24:39 リカバリー・ディスク1枚目できた(ブート・メディアを入れると2枚目)。次のディスク作成開始。
  • 24:40 自分の X31 も負荷が上がるとフリーズしてました。考えると同じように熱暴走だったのかも。RT @junten: ちなみに私のThinkPadX30は熱暴走して勝手に落ちます。惜しまれながら引退しました
  • 24:48 @yamakiyo 冷却ファンこれ。 http://bit.ly/36wueg
  • 24:51 リカバリー・メディア2枚目作成完了。一段落。
  • 24:57 重要な作業を忘れていた。パームレストに貼ってある Windows 7 シールと Intel Inside シールと、Lenovo enhanced experience シールを剥す。あと表に貼ってある ENERGY STAR シールも。
  • 25:00 Intel Inside シールが手強い。爪が入らんな。
  • 25:03 よし。剥れた。
  • 25:03 今日はここまでかな。明日パーティションサイズ変更と Debian GNU/Linux インストールとしよう。
  • 25:21 眠いけれど現役 ThinkPad X31 の方のデイリーバックアップを取っているところ。
[ 11月19日全て ]

2010年10月5日 (火)

今日のさえずり: これでセンサスくんともお別れかと思うと寂しい

2010年10月05日

  • 09:23 今日は電車も冷房入ってる。
  • 10:38 C++ コードリーディングの日。まずは doxygen 通すか。
  • 12:05 気がついたら昼休み
  • 12:23 ハッピーセットとチーズバーガー 470円。
  • 13:17 今日は後ろの @as_tone がいないのでエアコン入ってる。今日は暑いし、そもそも出社したらすでに入ってたし。
  • 13:37 RT @as_tone: 有明では場内放送で熱中症に気をつけてねって言ってます。RT @Naney: 今日は後ろの @as_tone がいないのでエアコン入ってる。今日は暑いし、そもそも出社したらすでに入ってたし。
  • 14:43 レグザAppsコネクト 対応機種: [テレビ] CELLレグザ X2 / XE2シリーズ。おい CELL REGZA だけか。
  • 14:53 @as_tone なんかスゲー楽しそう。
  • 16:06 なんか1つだけ cpp ファイルの charsetUTF-8 になってる。そして Emacs で shift_jis にしようと思っても諦められてしまう。
  • 16:09 予想通り cpp ファイルに中国語でコメントが入ってた。
  • 16:12 @y_aki 8000行オーバーだったので目視で探すのに一苦労しました。
  • 16:36 @y_aki なるほど iconv -f UTF-16 -t cp932 で iconv: illegal input sequence at position 331642 と出ました(ちなみに UTF-8 じゃなくて BOM あり UTF-16 リトルエンディアンでした)。
  • 17:49 EASEUS Todo Backup が 1.1 になってる。去年死にかけた ThinkPad X31 の内蔵 HDD を外付け USB HDD にマルっとコピーするのに使った。 http://bit.ly/aK3eyY
  • 18:06 ソースコードに「// 既存の手順の……を変更しる!」とか書いてある。2ちゃんねらー?
  • 19:43 テレビ注文してる。
  • 19:50 他店値段出して値引きしていただけたが「2台買う攻撃」は効かなかった。
  • 22:10 エコポイントってオレンジカードと交換できるのか。
  • 22:15 国勢調査入力するか。
  • 22:34 国勢調査インターネット回答完了。直筆より気分的に楽だな、やっぱり。
  • 22:35 国勢調査のサイト、URL 中の拡張子が do だったから Struts?
  • 22:36 これでセンサスくんともお別れかと思うと寂しい。
  • 22:39 センサス君って平成2年(1990年)国勢調査から使われているのか。
  • 22:40 正式にはセンサス君じゃなくて、センサスくんか。
  • 23:02 RT @kokuseichousain: 5年ごとに数十日しか姿を見せないので、まだ赤ちゃんの姿なのです。(^^♪ RT @Naney センサス君って平成2年(1990年)国勢調査から使われているのか。
  • 23:03 ちなみにセンサスくん、前回は全然記憶にない。今回初登場だと思ってた。
  • 23:05 統計局のサイトに「クイズ・ザ・国勢調査」ってページがある。国勢調査もクイズにしちゃえばいいのに。
  • 23:17 ちなみに国勢調査Google Chrome 7.0.536.2 dev on Debian GNU/Linux sid から普通に回答できた。
  • 25:09 YouTube 用アカウントを作成。
  • 25:15Gmail アカウントに YouTube アカウント追加」「YouTube メイン用に専用 Google アカウント作成」「AndroidYouTube アプリに後者アカウントを設定しようとしたら、既に前者がバインドされてしまっていた」
[ 10月5日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.354522s / load averages: 0.51, 0.49, 0.49
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker