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

79 lines
2.2 KiB
Markdown
Raw Permalink Normal View 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
**コメント**: ___________