概要
PR #5368 (SelectLineScreenの分割リファクタリング) のレビューで指摘されたnitpickコメントをまとめたissueです。
関連PR: #5368
リクエスト元: @TinyKitten
対応項目
src/hooks/useSelectLineWalkthrough.ts (2件)
-
マジックナンバーの抽出 (64-73行目)
-16 の補正値を定数として抽出する(例: PRESETS_MARGIN_TOP_OFFSET)
- 意図を明確にするためのコメントを追加
-
Layout型の重複 (7-12行目)
Layout、ButtonLayout、HeaderLayout が重複している
- 共通の型定義を作成して再利用する
src/hooks/useInitialNearbyStation.test.tsx (1件)
- HookBridgeパターン (56-61行目)
@testing-library/react-native の renderHook を使用した標準的なテストパターンに変更
src/hooks/usePresetCarouselData.ts (1件)
- レースコンディションの可能性 (33-104行目)
routes が急速に変更された場合の競合状態を防ぐ
- フェッチ開始時に
routesKey を保存し、最新のフェッチ結果のみを反映
src/screens/SelectLineScreen.render.test.tsx (2件)
-
jest.clearAllMocks()の呼び出し位置 (269-272行目)
beforeEach から afterEach に移動
- テスト失敗時のデバッグでモック状態を保持
-
atomの呼び出し順序に依存するモック (258-264行目)
atomCallCount ベースの実装を、atom引数を判定する実装に変更
- 呼び出し順序の変更に対して堅牢にする
src/hooks/useLineSelection.ts (3件)
-
不要なnull合体演算子 (108-111行目)
pendingLine: line ?? null を pendingLine: line に簡素化
-
station.idの型安全性 (291-295行目)
station.id as number のキャストの前に null チェックを追加
- ランタイムエラーを防止
-
geolibの座標フォーマット統一 (247-259行目)
{ lat, lon } と { latitude, longitude } が混在
{ latitude, longitude } 形式に統一
src/hooks/useLineSelection.test.tsx (1件)
- handlePresetPressのテストケース不足 (74-287行目)
route.hasTrainType が true/false の両方のケースをカバー
openModalByTrainTypeId と openModalByLineId の呼び出しをテスト
src/hooks/useInitialNearbyStation.ts (1件)
- バックグラウンド位置更新のエラーハンドリング (46-56行目)
stopLocationUpdates の非同期処理に try/catch を追加
- エラー発生時のログ出力を実装
優先度
このissueはコードの品質向上を目的としており、緊急性は低いです。時間のある時に対応してください。
概要
PR #5368 (SelectLineScreenの分割リファクタリング) のレビューで指摘されたnitpickコメントをまとめたissueです。
関連PR: #5368
リクエスト元: @TinyKitten
対応項目
src/hooks/useSelectLineWalkthrough.ts (2件)
マジックナンバーの抽出 (64-73行目)
-16の補正値を定数として抽出する(例:PRESETS_MARGIN_TOP_OFFSET)Layout型の重複 (7-12行目)
Layout、ButtonLayout、HeaderLayoutが重複しているsrc/hooks/useInitialNearbyStation.test.tsx (1件)
@testing-library/react-nativeのrenderHookを使用した標準的なテストパターンに変更src/hooks/usePresetCarouselData.ts (1件)
routesが急速に変更された場合の競合状態を防ぐroutesKeyを保存し、最新のフェッチ結果のみを反映src/screens/SelectLineScreen.render.test.tsx (2件)
jest.clearAllMocks()の呼び出し位置 (269-272行目)
beforeEachからafterEachに移動atomの呼び出し順序に依存するモック (258-264行目)
atomCallCountベースの実装を、atom引数を判定する実装に変更src/hooks/useLineSelection.ts (3件)
不要なnull合体演算子 (108-111行目)
pendingLine: line ?? nullをpendingLine: lineに簡素化station.idの型安全性 (291-295行目)
station.id as numberのキャストの前に null チェックを追加geolibの座標フォーマット統一 (247-259行目)
{ lat, lon }と{ latitude, longitude }が混在{ latitude, longitude }形式に統一src/hooks/useLineSelection.test.tsx (1件)
route.hasTrainTypeが true/false の両方のケースをカバーopenModalByTrainTypeIdとopenModalByLineIdの呼び出しをテストsrc/hooks/useInitialNearbyStation.ts (1件)
stopLocationUpdatesの非同期処理に try/catch を追加優先度
このissueはコードの品質向上を目的としており、緊急性は低いです。時間のある時に対応してください。