引用: ゲームプログラマのためのコーディング技術 by 大圖衛玄(Moriharu Ohzu)さん
switch (state) {
case STATE_WAIT: wait(); break; // 待機状態
case STATE_WALK: walk(); break; ...
...
default: assert(!"不正な状態"); // コメント付きのassert
}
不正な状態になりdefault節に到達すると、次のようなassertのメッセージが表示されます。コメントによってエラーの原因を、わかりやすく伝えることができます。
Assertion failed; !"不正な状態", file player.cpp line 64
一方で、default節が正常で何も処理しない場合は do nothing というコメントをつけるという書き方をどこかの本で見た。
switch (state) {
default:
// do nothing
break;
}
// do nothing がついていない場合、「コーディング途中なのか?」とコードを読んだ人が疑問を持つかもしれないが、// do nothing があれば「ここでは何もしないのだ」と意図が明確になる。