レビュー前に机上チェックするときのメモ。
| 観点 | 結果(○か×) | 備考 |
| 全体 | ||
|---|---|---|
| 設計内容が漏れなく反映されている事 | ||
| 設計内容で更新された部分(QA内容など)を反映している事 | ||
| コードなどが定義されている場合にその内容が反映されている事 | ||
| 条件式判定結果に対するmethod内のルートが正しい事 | ||
| 正常系におけるメソッド内の処理フローが正しい事 | ||
| 異常系におけるメソッド内の処理フローが正しい事 | ||
| クラス・メソッド | ||
| クラス、メソッドの修飾子(スコープやstaticなど)が妥当である事 | ||
| Synchronizedを使用していない事 | ||
| 明確な理由なくオーバーライドしていない事 | ||
| 変数・定数 | ||
| 使用されるクラスだけインポート宣言されている事(*はダメ) | ||
| final定義できる部分は可能な限りfinal定義している事 | ||
| 変数のスコープが妥当である事 | ||
| 大き過ぎるローカル変数を定義していない事 | ||
| 演算結果を格納する変数の場合、充分な精度を持っている事 | ||
| 領域をオーバする可能性があるデータに対するガードがなされている事 | ||
| 変数が正しく初期化されている事(特に配列の添え字等に注意する) | ||
| 要素数が明確なものは配列を使用しArrayListやVectorは極力使用していない事 | ||
| コレクションを利用する場合は初期サイズを指定している事 | ||
| 余計なインスタンス生成(new)を実装していない事 | ||
| 正しい定数を利用している事 | ||
| 演算 | ||
| 代入演算で桁あふれが発生しない事 | ||
| 演算順序が目的通りである事(演算子の優先順位に注意する事) | ||
| ゼロ除算の可能性がない事 | ||
| 条件分岐 | ||
| if文の条件式、及びその動作が正しい事(nullで落ちたりしないように) | ||
| 必要なelse文が存在し、その動作が正しい事(ケース漏れがないように) | ||
| switch文の条件式が正しい事 | ||
| case式に過不足がなく、case毎の動作が正しい事 | ||
| default文が存在し、及びその動作が正しい事 | ||
| switch文中に必要であるbreak文が記述されている事 | ||
| ループ | ||
| ループ条件が妥当であり、無限ループに陥る可能性が排除されている事 | ||
| ループからのbreak条件が正しく動作する事 | ||
| ループ内の処理は最小限にしている事(可能な限り不変式はループ外に出す) | ||
| カウンタの初期化が行われており、その値が妥当である事 | ||
| カウンタのインクリメント・デクリメント条件が正しい事 | ||
| 同一のカウンタを複数の用途に用いていない事(混乱を防ぐ) | ||
| カウンタの上限値、下限値での動作が正しい事(特に0件データとMAXは考慮する) | ||
| 処理内容 | ||
| バッファつきの入出力を使用している事 | ||
| 文字列連結時に原則としてStringBufferを使用している事 | ||
| 入力パラメータについてのチェックが正しい事 | ||
| 上位メソッドへの返却値が正しい事 | ||
| 呼び出したメソッドの返却値による、自メソッド内の処理が正しい事 | ||
| 指定する文字コードが正しい事 | ||
| 共通の処理があるのに独自に作成していない事 | ||
| 冗長ステップがない事 | ||
| ソート処理やアボート処理につい ては、規定された関数が利用されている事 |
||
| システムリソースを使用するオブジェクトは明示的にcloseしている事 | ||
| 例外処理 | ||
| 例外をキャッチしていること | ||
| 不必要な例外をスルーしていないこと | ||
| 例外生成時に例外の発生情報をデバッグログに出力している事 | ||
| メソッド開始時、終了時にデバッグログを出力している事 | ||
| コーディング規約 | ||
| 字下げが正しく行われている事 | ||
| コメントの記述が規約通りに正しく行われている事 | ||
| 変数名の付与が規約通りに正しく行われている事 | ||
| 条件式などで括弧による優先順位の明示化が行われている事 | ||
| コーディング規約に沿っている事 | ||
| 英単語のスペルミスがない事 | ||