移除無效程式碼
一次執行清除一個無效區域:證明其未使用、刪除整個單元、驗證剩餘部分。它絕不重構保留下來的程式碼;附近看似有問題的存活程式碼會被標記,但不會被修改。
步驟
- 列舉候選項目。 列出可能無效的整個單元:未修改的檔案、未引用的匯出、無路由渲染的元件、無呼叫者傳遞的 props 與 state、無標記使用的 CSS 類別。是整個單元,而不是行——一個含有存活輔助函式的無效匯出仍然是一個單元。 完成條件:每個候選項目都能指出誰可能曾經引用過它。
- 在每個位址證明未使用。 搜尋直接與動態引用:字串型 import、路由表、測試模板、故事名稱。只有當所有可能到達該候選項目的方式都被追蹤過,它才算無效。 完成條件:每個候選項目記錄了哪些搜尋結果為空。
- 分批刪除並逐一驗證。 一次移除一個單元——如果出現任何意外的情況,追蹤子彈救援會立即停止、重新證明邊界、然後繼續。每次刪除後,建置、型別檢查與測試都會執行。 完成條件:至少有一次完整的建置加上測試在最後一次刪除後通過。
- 收尾清理。 重新檢查原先引入已移除單元的部分:引入鏈、過時的 fixture、現在空的資料夾。抖動依賴樹:第二次掉出的東西也屬於這次執行。 完成條件:對已刪除名稱的新搜尋結果為空。
參考
- reference.md —— 前端程式碼躲藏於搜尋之處,以及每種單元類型的證明檢查清單。