ソースコードレビューでの指摘事項
コーディングの際に意識すること
・メソッドの引数、戻り値を見ただけで何をするメソッドか分かるように書くこと。
もちろんメソッド名でも処理内容が推察できること。
⇒引数にメソッド内の条件判定に必要な情報を渡したら、その条件ごとに処理したオブジェクトが返ってくるような設計にする。
・if文の判定条件には、ほかの状態に依存するような変数は使わないこと。
例:
// 処理A
if ("0".equals(xxStatus)) {
xx = false;
} else if ("1".equals(xxStatus)) {
xx = false;
} else if ("2".equals(xxStatus)) {
xx = true;
} else {
xx = false;
}
// 処理B ← ここではxxStatusがtrueの場合だけ更新処理を行う仕様なのに前段の判定処理に結果が依存しているからNG
if (xx = ture) {
// 更新処理を行う
} else {
// 更新処理を行わない
}
・IsExistメソッドでの一撃returnはよろしくない場合がある
⇒戻り値が結果として同じになるからといって、同レベルでない判定を一行で書くべきではない。
例:
boolean IsExist (String xx) {
// return "0".equals(xxStatus) || "0".equals(xxStatus) && "1".equals(xxFlg) ← NG
if (return "0".equals(xxStatus) || "0".equals(xxStatus)) {
if ("1".equals(xxFlg)) {
return ture;
}
} else {
return false;
}
}
// TODO 随時追加する。