ponshu-room-lite/docs/archive/CODE_REVIEW_CHECKLIST.md

2.2 KiB
Raw Permalink Blame History

コードレビュー観点 v1.0.11+21

1. Phase D6設計整合性

1-1. filteredByModeProvider経由の確認

  • rawSakeListItemsProviderが不適切に使用されていない
  • 例外: 空状態判定でfilteredByModeProviderを使用

1-2. Personal/Business Mode判定

  • userProfile.isBusinessModeで判定
  • または.select((p) => p.isBusinessMode)でパフォーマンス最適化

2. 非同期処理の安全性

2-1. BuildContextキャプチャパターン

  • async gap前にfinal navigator = Navigator.of(context);
  • async gap前にfinal messenger = ScaffoldMessenger.of(context);
  • async gap後はnavigator.pop()を使用

2-2. mountedチェック

  • すべてのasync gap後にif (!mounted) return;

2-3. Linter警告

  • use_build_context_synchronously警告がゼロ

3. パフォーマンス

3-1. Provider最適化

  • .select()による部分監視
  • 不要なref.watch()がない

3-2. リスト最適化

  • ListView.builder使用(大量データ対応)
  • 画像キャッシュが適切

4. 保守性

4-1. マジックナンバー

  • AppConstantsクラスに定義済み
  • ハードコードされた数値がない

4-2. コメント

  • 意図的な設計判断にコメント
  • 複雑なロジックに説明コメント

4-3. ドキュメント

  • CURSOR_HANDOFF_FINAL_v1.0.10+20.md参照
  • 将来的検討事項が文書化

5. 意図的なハードコーディング(保護)

参照: SAFE_FIXES_REPORT.md

5-1. 変更してはいけない箇所

  • lib/widgets/home/sake_grid_item.dart:102 Colors.black54
  • lib/screens/home_screen.dart:86-88 Colors.white
  • SpeedDialオーバーレイ

5-2. 変更理由の確認

  • 視認性確保のため(画像オーバーレイ)
  • AppBar常にダーク背景のため検索フィールド

レビュー実施記録

レビュアー: ___________
レビュー日時: ___________
結果: Approved / Changes Requested
コメント: ___________