2008年1月アーカイブ
C++でも自動でドキュメント生成してくれるツールあるに決まってるよなってことで、調べたら、Doxygenっていのが一般的っぽいんで、これを使うことにした。ヘッダコメントとかもDoxygen対応の書式にした。
インストールしたら、DoxywizardってGUIのツールができるから、これ使ってちょっと設定変えて、[Start]ボタン押すだけでドキュメントが生成できた。
コメントの書き方は、QtスタイルとJavaDocスタイルがあるけど、自分はJavaDocスタイルに慣れてるからこれを使うことにした。
設定をいじったとこは、
- [OUTPUT_LANGUAGE]をJapaneseへ
- [INPUT_ENCODING]をShift_JISへ
- privateメンバを表示するように、[EXTRACT_PRIVATE]を有効へ
- コメント1行目の概要を表示するように、[JAVADOC_AUTOBRIEF]を有効へ
- ファイル一覧でフルパスが表示されないように、[FULL_PATH_NAMES]を無効へ
ってとこかな。
で、ヘッダコメントは↓こんな感じにした。
- ファイルヘッダ
/**
* @file Di.h
*
* @brief DirectInput処理
*
* @author 1122
* @date 2008/01/18
*/
- クラスヘッダ
/**
* DirectInput処理
*
* @author 1122
* @date 2008/01/18
*/
- 関数ヘッダ
/**
* DirectInput初期化
*
* @param[in] a_hWnd ウィンドウハンドル
* @param[in] a_hInstance インスタンスハンドル
*
* @return 処理結果
* @retval true 成功
* @retval false 失敗
*/
前にC++で作ってたゲームが久々気になり、ソースコードを眺めてた。そしたらそのコードにイライラしてきたので、リファクタリングを始めた。
学生の頃に作ったコードだから、もちろんコーディング規約を作ってるわけはなく、暗黙の了解という感じでコーディングの仕方をそろえてた。それで何となくは規則性のあるコードが書かれてたけど、ただ規則的なだけで、わかりにくい記述がいくつかあった。そんで、まずは規約を作ってみた。
関数のヘッダコメントも規約として決めた。
↓例えばこんなん。
//----------------------------------------------------------
// Name : Init
// Desc : 初期化
//
// Arg : [in] int a_nIn : 入力値
// [out] int* a_pnOut : 出力値
//
// Return : int nRet : 戻り値
//----------------------------------------------------------
引数のとこを"Arg"にするか"Param"にするかというどーでもいいことで悩んだ。自分としては"Param"って書いた方がパッと見わかりやすい。ただね、今回作った規約では、変数名はハンガリアン記法ってことにしてある。ハンガリアン記法だと、引数のプレフィクスは"a_"が一般的。で、この"a_"っつーのは、Argumentの頭文字。そうすると、引数の説明は"Arg"にしないと統一感ねーよな…、となり、散々悩んで、"Arg"に決定。こういうとこでも優柔不断全開。
JavaDocとかphpDocumentorみたいに、C++ Docとかいうのがあればなぁ。。。
ハンガリアンなんだけど、これは元々嫌いだったんだけど、仕事で使ってみたら、コード理解しやすいってことがわかり、なるべく使うようにしてる。
ブログのサイドバーの内容を編集した。サイドバーにウィジェットを追加したり、表示順変えたり。
Movable Type 4管理画面の[デザイン]→[テンプレート]を選択して、そこの[クイックフィルタ]って項目の[テンプレートモジュール]を選ぶ。表示されたテンプレートモジュールから[サイドバー (3カラム)]を選択して、このタグを編集すればいい。
3カラムのスタイルなら、サイドバーのコンテナ名は、"beta"、"gamma"みたいだから、このコンテナ内を編集する。
<div id="beta">
…
<div id="gamma">
…
てっきりインデックステンプレートのどれかを編集するもんだと思ってたから、探すのに時間かかった。
Movable Type 4のカスタマイズの仕方がよくわからん。
なるべくタグを書かないで、管理画面のインターフェースをちょっといじって編集するのが理想。
まずカテゴリを作ったんだけど、サブカテゴリが設定できなかった。[移動]ボタンをクリックすれば、画面レイアウトが変わって、そこで親カテゴリにしたいラジオボタンをクリックという操作らしいんだけど、そうならない。Firefoxだとできるらしいんで、使ってるブラウザのエンジンをGeckoエンジンに切り替えたらできた。
あとは記事周りのウィジェットを追加したり編集したい。どういう仕組みか知らないと上手く編集できなそうだな。もうちょい調べないと。






