April 15 11:00~11:40
重構(refactoring)是一種「不改變軟體外在行為的前提之下改善程式碼內部結構」的方法。無論是code-first開發模式(傳統的開發方法),或是test-first開發模式(測試驅動開發方法),再好的設計都可能隨著時間與需求變化而長歪掉。因此需要藉由重構來讓軟體系統維持一定程度的可讀、可修改與可擴充性,以避免軟體變成硬體,再也改不動它,影響產品及時上市的競爭力。
軟體重構領域包含好幾個議題,從《Refactoring: Improving the Design of Existing Code》書中提到最基礎的70幾個重構方法、重構為設計樣式、軟體架構層次的重構、既有系統重構、TDD與重構、測試案例重構、資料庫重構等。入門班的三天課程將以介紹經典的《Refactoring: Improving the Design of Existing Code》為主,採用「怪味道驅動(bad smell-driven)」的方式,系統化地介紹書中所提到22個造成設計不良的怪味道(bad smell),以及移除這些怪味道的重構方法。
在介紹完重構的基本知識之後,課程將分門別類地逐一討論22個怪味道,並且讓學員現場實作練習移除怪味道的重構方法。經過三天密集的練習,期望學員不但能夠具備看出自己專案中程式碼的怪味道的能力,更進一步可以套用所學的重構方法來改善軟體設計、提升物件導向設計能力,償還技術債。
課程重點包含:
- 什麼是重構?
- 軟體設計、重構與設計模式。
- 套用重構的工作流程與重構步驟。
- 物件導向設計原則。
- 22種怪味道這樣學就會了。
- 重構實作練習(提供Java程式碼,可pair programming結隊練習)。
- Refactoring to patterns練習。
- TDD與重構:Bowling Game Kata。
***
【軟體重構入門實作班】第一梯次已在今年三月順利結束,上課實況請參考:
▼課程實錄照片
***
友藏內心獨白:重構是確保clean code的必要技能。
沒有留言:
張貼留言