基本編
- コードは全て動作確認済みです
- インデントはずれていないです
- フォーマッタは利用しています
- 関係ないソースは変更していないです
-
console.log
やLog::debug
は残っていないです - 利用されていないuseは削除しています
- コピペした箇所は見直しました
- 同様の修正が必要な箇所など横展開の調査はしました
- PJ個別のルールを確認しています
命名規則編
- スペルミスはないです
- 変数名や関数名を省略する際、誰でも元の省略名称が言える状態です
- ローマ字表記は避けています
- 変数名はキャメルケースになっています
- 限定的なスコープ以外でtmp,result などの汎用的な命名をしていないです
- 関数名はキャメルケースになっています
- 関数名は作用や動作がわかりやすいです
- 関数の引数は型が指定されています
- 関数の引数の型でobjectやCollectionを指定している際、他に適切な型はありません
- 関数の引数の型でnullableにしている際、エラーチェックは十分です
- マジックナンバーは使用していないです
- ファイル名の大文字小文字に誤りはないです
メソッド編
- ifやforのネストを減らせません
- 1関数あたりの記述を減らせません
- 必要な引数だけ渡しています
- 引数の数は減らせません
- 早期リターンはできています
- ループ処理の行数は減らせません
- 自前のコレクション処理は実装していないです
- すでに存在する共通処理を自分で実装していないです
- 循環的複雑度は減らせません
コメント編
- コメントはコードの意図を明確に説明しています
- 複雑なロジックには適切な説明が付けられています
- コメントには「コードから読み取れない事」を書いています
- 定数にはコメントが書かれています
セキュリティ編
- センシティブな情報(パスワード、APIキーなど)はハードコードされていないです
パフォーマンス編
- 不必要なループや処理がないです
- 大量のデータを扱う場合、メモリ使用量は適切です
- データベースクエリは最適化されています
- N+1を発生させる実装はないです