大規模重構|奪回源碼庫的控制權
心得
業界的開發人員或多或少都有在中小型專案中重構的經驗,不過很少人會遇到跨組織的大型重構,畢竟只有身處大型開發組織的核心團隊才有這種機會,所以本書提供了一個管道使一般開發人員也能吸收大規模重構的經驗。
本書的經驗來自Slack的重構專案,為了避免影響到正式產品的客戶而使用了許多技巧。比方說用來比較重構前後差異的明暗模式;用來評估重構計畫會造成多少衝擊的程式碼分析;提供安全切入點的測試覆蓋與接縫模型等,這些技巧有讀過重構遺留程式碼的藝術的讀者想必都很熟悉,但是本書又將這些技巧應用在跨專案以及解構資料庫綱要上,是相當難得的實際案例。
而在結束前半段的技術說明後,作者在本書的後半段將專注在協作溝通上,畢竟這種大型重構實際上就是一種軟體考古學,你必須盡量取得各方人員的協助才能理清專案的前因後果,尤其是部門經理的支持以及其他團隊專家的幫助。對前者,本書建議你提供適當的指標來說明重構對組織帶來的好處;對後者,作者則有其他更細膩的溝通技巧來幫助你找到對的人來幫忙以及捕捉各種需求變更的蛛絲馬跡。
總結來說這本不是很硬的技術書,但是對遇到類似問題的讀者會特別地有價值,因此特別推薦給正在同時整理多個專案的開發人員。