コードレビュー・チェックリスト
セキュリティ・チェックリスト
- ハードコードされた認証情報や秘密情報がない
- すべてのユーザー入力に対する入力検証
- SQL インジェクション対策(パラメータ化クエリ)
- 状態を変更する操作への CSRF 対策
- 適切なエスケープによる XSS 対策
- 保護されたエンドポイントでの認証チェック
- リソースに対する認可チェック
- 安全なパスワードハッシュ化(bcrypt、argon2)
- ログに機密データを含めない
- HTTPS の強制
パフォーマンス・チェックリスト
- N+1 クエリがない
- インデックスの適切な利用
- 効果的な箇所でのキャッシュ実装
- メインスレッドでのブロッキング操作がない
- async/await の正しい使用
- 大規模データセットのページネーション
- データベースコネクションプーリング
- 正規表現の最適化
- 不要なオブジェクト生成がない
- メモリリーク対策
品質チェックリスト
- 関数が 50 行未満
- 明確な変数命名
- 重複コードがない
- 適切なエラーハンドリング
- コメントは「何を」ではなく「なぜ」を説明
- 本番環境に console.log がない
- 型チェック(TypeScript/JSDoc)
- SOLID 原則の遵守
- デザインパターンの正しい適用
- 自己説明的なコード
テスト・チェックリスト
- ユニットテストの記述
- エッジケースの網羅
- エラーシナリオのテスト
- 統合テストの存在
- カバレッジが 80% 以上
- flaky テストがない
- 外部依存のモック化
- 明確なテスト名

