ソースレビューのポイント

○コメント
意味不明なコメント、不適切なコメントが書かれていないか?
保守性の悪い体裁のコメントでないか?
ドキュメント生成用コメントを書くならもれなく書かれているか?


○変数/関数
変数/関数の命名が適切か?
変数の型は適切か?
混同するような名前の変数がないか?
初期化漏れはないか?(メンバ変数はコンストラクタ初期化すること)
無用に広いスコープの変数はないか?
クラスに属すべき関数/変数がグローバル関数/変数になっていないか?
ひとつの関数の行数が多過ぎないか?


○マクロ
括弧で計算順序が保護されているか?
無用に複雑怪奇なマクロはないか?


○メモリ確保
malloc()呼び出し、free()呼び出しが局所化されているか?
確保した動的メモリはすべて解放されるか?


○制御フロー
ループが必ず有限回数で終了するか?
再起呼び出しが有限の深さで終了するか?
すべての場合を網羅していない判定はないか?
breakを入れ忘れていないか?
分りにくいgoto,break,continue,returnはないか?
分岐によって、リソース解放の抜け穴は生じないか?


○ポインタ/配列
NULLポインタへのアクセスはないか?
バッファオーバーランはないか?
参照渡しの引数にはconstがついているか?


○エラー処理
エラーになりうるパラメータの範囲はチェックされているか?
その他のエラー判定は十分か?
ゼロ除算は起こり得ないか?
エラー時の処理は考慮されているか?


○その他
デバッグ時のコードが残っていないか?
上手く説明できない「おまじない処理」が含まれていないか?
専門技術を要するコードは局所化されているか?