4.6 KiB
4.6 KiB
Learn → Review 重命名計劃
建立日期: 2025-09-27 目的: 將所有 learn 相關命名改為 review,使程式碼語義更清晰準確
📋 需要重命名的項目盤點
1. 目錄結構重命名
主要目錄
FROM TO
/frontend/app/learn/ → /frontend/app/review/
/frontend/components/learn/ → /frontend/components/review/
/frontend/hooks/learn/ → /frontend/hooks/review/
/frontend/lib/services/learn/ → /frontend/lib/services/review/
子目錄重命名
FROM TO
/components/learn/tests/ → /components/review/review-tests/
2. 檔案重命名
核心檔案
FROM TO
useLearnStore.ts → useReviewStore.ts
learnService.ts → reviewService.ts
TestRunner.tsx → ReviewRunner.tsx
組件檔案 (可選重命名)
FROM TO
ProgressTracker.tsx → ReviewProgressTracker.tsx
TaskListModal.tsx → ReviewTaskListModal.tsx
LoadingStates.tsx → ReviewLoadingStates.tsx
3. 程式碼內容修改
Import 路徑修改
需要更新以下檔案中的import:
/app/learn/page.tsx(8個import)/components/learn/TestRunner.tsx(2個import)/lib/services/learn/learnService.ts(1個import)
// FROM
import { ProgressTracker } from '@/components/learn/ProgressTracker'
import { useLearnStore } from '@/store/useLearnStore'
import { LearnService } from '@/lib/services/learn/learnService'
// TO
import { ReviewProgressTracker } from '@/components/review/ReviewProgressTracker'
import { useReviewStore } from '@/store/useReviewStore'
import { ReviewService } from '@/lib/services/review/reviewService'
類別和介面重命名
// FROM → TO
useLearnStore → useReviewStore
LearnState → ReviewState
LearnService → ReviewService
TestRunner → ReviewRunner
// 函數名稱
initializeLearnSession → initializeReviewSession
loadDueCards → loadDueReviewCards (可選)
註解和文字更新
所有註解中的 "learn" 改為 "review":
// FROM
// 學習會話狀態
// 載入到期詞卡
// 初始化學習會話
// TO
// 複習會話狀態
// 載入到期複習詞卡
// 初始化複習會話
4. 特殊考量
URL路由保持不變
- 用戶訪問: 仍然是
http://localhost:3000/learn - 檔案路徑:
/app/review/page.tsx(內部重命名) - Next.js: 需要考慮路由映射問題
外部引用檢查
需要檢查是否有其他檔案引用了learn相關組件:
- Navigation.tsx 中的 learn 連結
- Dashboard.tsx 中的 learn 按鈕
- 其他頁面的跳轉邏輯
🚀 執行順序
階段一:目錄和檔案重命名 (15分鐘)
- 重命名主要目錄結構
- 重命名核心檔案
- 更新檔案的export名稱
階段二:程式碼內容更新 (20分鐘)
- 更新所有import路徑
- 重命名類別和介面
- 更新函數和變數名稱
- 更新註解和字串
階段三:路由配置 (10分鐘)
- 確認Next.js路由正常運作
- 檢查外部引用是否正確
- 測試頁面是否正常載入
階段四:測試和驗證 (15分鐘)
- 檢查編譯是否通過
- 測試功能是否正常
- 確認沒有遺漏的引用
⚠️ 風險評估
低風險項目
- 內部檔案重命名
- 註解和字串更新
- 組件內部邏輯
中風險項目
- Import路徑更新 (可能遺漏)
- Store狀態管理 (需要仔細測試)
注意事項
- URL路由
/learn保持不變 - 確保所有依賴關係正確更新
- 備份重要檔案以防萬一
📝 驗證清單
重命名完成檢查
- 所有目錄重命名完成
- 所有檔案重命名完成
- 所有import路徑更新
- 所有類別名稱更新
- 所有函數名稱更新
功能測試
- 頁面可以正常載入
- 測驗組件正常顯示
- 狀態管理正常運作
- API調用正常
- 錯誤處理正常
外部整合測試
- Navigation導航正常
- Dashboard跳轉正常
- 路由映射正確
這個重命名將讓程式碼語義更清晰,review(複習) 比 learn(學習) 更精確地描述這個功能的本質。