# Change: Remove Unused Code and Legacy Files ## Why 專案經過多次迭代開發後,累積了一些未使用的代碼和遺留文件。這些冗餘代碼增加了維護負擔、可能造成混淆,並佔用不必要的存儲空間。本提案旨在系統性地移除這些未使用的代碼,以達成專案內容及程式代碼的精簡。 ## What Changes ### Backend - 移除未使用的服務文件 (3個) | 文件 | 行數 | 移除原因 | |------|------|----------| | `ocr_service_original.py` | ~835 | 舊版 OCR 服務,已被 `ocr_service.py` 完全取代 | | `preprocessor.py` | ~200 | 文檔預處理器,功能已被 `layout_preprocessing_service.py` 吸收 | | `pdf_font_manager.py` | ~150 | 字體管理器,未被任何服務引用 | ### Frontend - 移除未使用的組件 (2個) | 文件 | 移除原因 | |------|----------| | `MarkdownPreview.tsx` | 完全未被任何頁面或組件引用 | | `ResultsTable.tsx` | 使用已棄用的 `FileResult` 類型,功能已被 `TaskHistoryPage` 替代 | ### Frontend - 遷移並移除遺留 API 服務 (2個) | 文件 | 移除原因 | |------|----------| | `services/api.ts` | 舊版 API 客戶端,僅剩 2 處引用 (Layout.tsx, SettingsPage.tsx),需遷移至 apiV2 | | `types/api.ts` | 舊版類型定義,僅 `ExportRule` 類型被使用,需遷移至 apiV2.ts | ## Impact - **Affected specs**: 無 (純代碼清理,不改變系統行為) - **Affected code**: - Backend: `backend/app/services/` (刪除 3 個文件) - Frontend: `frontend/src/components/` (刪除 2 個文件) - Frontend: `frontend/src/services/api.ts` (遷移後刪除) - Frontend: `frontend/src/types/api.ts` (遷移後刪除) ## Benefits - 減少約 1,200+ 行後端冗餘代碼 - 減少約 300+ 行前端冗餘代碼 - 提高代碼維護性和可讀性 - 消除新開發者的混淆源 - 統一 API 客戶端到 apiV2 ## Risk Assessment - **風險等級**: 低 - **回滾策略**: Git revert 即可恢復所有刪除的文件 - **測試要求**: - 確認後端服務啟動正常 - 確認前端所有頁面功能正常 - 特別測試 SettingsPage (ExportRule) 功能