--- date: "2023-05-25T00:00:00+00:00" slug: "guidelines-refactoring" sidebar_position: 20 aliases: - /zh-tw/guidelines-refactoring --- # 重構指南 ## 背景 自 2014 年 2 月 12 日編寫了第一行程式碼以來,Gitea 已經發展成為一個龐大的專案。 因此,程式碼庫變得越來越大。程式碼庫越大,維護就越困難。 存在許多過時的機制,許多框架混合在一起,一些遺留程式碼可能會導致錯誤並阻礙新功能的開發。 為了使程式碼庫更易於維護,使 Gitea 變得更好,開發人員應牢記使用現代機制來重構舊程式碼。 本文件是關於重構程式碼庫的指南集合。 ## 重構建議 - 設計更多關於未來的內容,而不僅僅解決當前問題。 - 減少模糊性,減少衝突,提高可維護性。 - 描述重構,例如: - 為什麼需要重構。 - 如何解決舊問題。 - 重構的優點/缺點是什麼。 - 只做必要的更改,儘量保留舊邏輯。 - 引入一些中間步驟,使重構更容易審查,完整的重構計劃可以在幾個 PR 中完成。 - 如果存在分歧,應該請 TOC(技術監督委員會)參與決策。 - 添加必要的測試以確保重構的正確性。 - 非錯誤重構優先在里程碑的開始時進行,這樣可以更容易地在發佈之前發現問題。 ## 審查和合併建議 - 重構的 PR 不應該長時間保持打開狀態(通常為 7 天),應儘快進行審查。 - 重構的 PR 應儘快合併,不應被其他 PR 阻塞。 - 如果 TOC 沒有異議,重構的 PR 可以在 7 天后由一名核心成員(非作者)批准後合併。 - 如果最終結果良好,容忍一些不完美/臨時的步驟。 - 如果重構是必要的,容忍一些迴歸錯誤,並儘快修復錯誤。