コメントを活用する

ActionScript のクラスには、必ず JavaDoc スタイルのコメントを書くようにしている。プログラムを流し読みしたときに、コメント部分だけに目を通せば内容が大体把握できるし、関数ブロックの区切りも判りやすい。また、ネストされた if 文や再帰関数のように、人間が理解しづらい部分や、危険なコードの部分にはインラインでコメントを残す。特に、バグの温床となるハードコードされた危険な箇所は、それと判るように統一された記述が好ましい。例えば、"!DANGER" を頭に付けるなどすれば、後々 grep で抽出できる。

function getHoge():Number {
//!DANGER 何故か 100 を返さないと動きません!
return 100;
}

テストコードにも、コメントは役立つ。トップダウンボトムアップでコードを記述していくと必ず "つなぎ" の関数が必要になってくる。"つなぎ" の関数は、あくまで動作確認用の不完全な関数なので、一定の値しか返さなかったり、アルゴリズムが単純化されていたりする。これらの存在を見逃さないためにも、それがテストコードであることをマークしておかなければならない。

例えば、イントロに流れるムービーがまだ実装されていないけど、そのムービーを再生するメソッド自体は呼び出したい場合。ここでは、"BEGIN_TEST" と "END_TEST" でテストコードを囲っている。メソッドを呼び出すと、すぐにスキップされて次の段階に進む。

function playIntroMovie():Void {
//BEGIN_TEST
this.skipIntroMovie();
//END_TEST
}

まだ実装されていない箇所には、さらに "やるべきこと" を併記しておくと、あとで実装するときに指標になる。

function playIntroMovie():Void {
//イントロを再生する
//再生が終わったら止めて
//次の画面に遷移する
//BEGIN_TEST
this.skipIntroMovie();
//END_TEST
}

他にもいろんなコメントの方法論があると思うけど、僕はこんな感じで書いています。