l

2016年4月18日 星期一

5月份【軟體重構入門實作班】

April 15 11:00~11:40

IMG_9370_with_logo

 

重構(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。

***

軟體重構入門實作班】第一梯次已在今年三月順利結束,上課實況請參考:

 

▼課程實錄照片

imageimageIMG_9507_with_logoimageimageimageimageimageimage

 

image

***

友藏內心獨白:重構是確保clean code的必要技能。

沒有留言:

張貼留言