第六梯次
2021年7月9、10、11日(五、六、日) / 09:30-16:30,三天共18小時
重構(refactoring)是一種「不改變軟體外在行為的前提之下改善程式碼內部結構」的方法。無論是code-first開發模式(傳統的開發方法),或是test-first開發模式(測試驅動開發方法),再好的設計都可能隨著時間與需求變化而長歪掉。因此需要藉由重構來讓軟體系統維持一定程度的可讀、可修改與可擴充性,以避免軟體變成硬體,再也改不動它,影響產品及時上市的競爭力。
- 現場實作、逐一練習,親手體會理解更深刻
- 小班分組實作,直接雙向互動,學習效果最好
- 實務經驗豐富兼具理論深厚的講師,讓你不只學到招式,更能融會貫通直接應用
課程特色:
介紹經典的《Refactoring: Improving the Design of Existing Code》為主,採用「怪味道驅動(bad smell-driven)」方式,介紹軟體系統中常見造成設計不良的怪味道(bad smell),以及移除這些怪味道的重構方法。
在介紹完重構的基本知識之後,介紹常見怪味道,並且讓學員現場實作練習移除怪味道的重構方法。經過三天密集的練習,期望學員不但能夠具備看出自己專案中程式碼的怪味道的能力,更進一步可以套用所學的重構方法來改善軟體設計、提升物件導向設計能力,償還技術債。
本課程適合下列人士:
- 手邊的軟體已經僵化成硬體,想改也改不動的人。
- 苦無系統化方法學習軟體重構之有理想、有抱負的程式設計師。
- 想成為一位有能力償還技術債的工程師。
- 對物件導向設計有興趣者。
- 接下爛攤子維護既有軟體系統的工程師。
- 學過TDD但不知如何利用重構改善系統設計者。
- 有志成為軟體架構師者 (什麼都要懂一點 XD) 。
入門課程涵蓋的內容為:
- Refactoring 簡介
- 從定義看Refactoring
- Refactoring初體驗
- Refactoring kata
- Tennis game kata
- Bowling game kata
- Gilded rose kata
- Dispensable Smells and Their Refactorings
- Comments, Duplicated Code, Lazy Class, Data Class, Speculative Generality
- Bloater Smells and Their Refactorings
- Long Method, Long Parameter List, Large Class, Data Clumps, Primitive Obsession
- OO Abuser Smells and Their Refactorings
- Switch Statements, Temporary Field, Alternative Classes with Different Interfaces, Refused Bequest
- Coupler Smells and Their Refactorings
- Feature Envy, Message Chains, Middle Man, Inappropriate Intimacy, Incomplete Library Class
- Change Preventer Smells and Their Refactorings
- Divergent Change, Shotgun Surgery
- 重構與設計方法
課程包含講解與實作練習,分組教學,隨時排解實作練習時遭遇的困難。
※ 注意:課程內容與練習範例均以Java語言為主,並提供練習程式碼與參考解答。
專業師資:陳建村 (Teddy Chen)
![]() |
|
相關文章閱讀:
- 什麼是Refactoring?
- 談談壞味道(1):Duplicated Code
- 談談壞味道(2):Long Method & Large Class
- 談談壞味道(3):Long Parameter List & Divergent Change
- 談談壞味道(4):Shotgun Surgery & Feature Envy
- 談談壞味道(5):Data Clumps & Primitive Obsession
- 談談壞味道(6):Switch Statements & Parallel Inheritance Hierarchies
- 談談壞味道(7):Lazy Class & Speculative Generality
- 談談壞味道(8):Temporary Field & Message Chains
- 談談壞味道(9):Middle Man
- 談談壞味道(10):Inappropriate Intimacy
- 談談壞味道(11):Alternative Classes with Different Interfaces
- 談談壞味道(12):Incomplete Library Classes
- 談談壞味道(13):Data Class
- 談談壞味道(14):Refused Bequest
- 談談壞味道(15):Comments
- 更精確的壞味道定義(上)
- 更精確的壞味道定義(中)
- 更精確的壞味道定義(下)
- 用Rename和Rename Method移除Comments怪味道
- 用Introduce Assertion移除Comments怪味道
- 用Extract Method與Extract Class移除Duplicated Code怪味道
- C.C. Agile Sprint 43 - 重構三兩事 / Teddy Chen (投影片)
- 【軟體重構入門實作班】第一梯次課程實錄:Day1
- 【軟體重構入門實作班】第一梯次課程實錄:Day2
The Bowling Game Kata:
費用
原價:$35,000元早鳥優惠票:$29,900 元(2021/5/20前報名)
泰迪之友票:$28,900 元
兩人同行價:$27,900 元(每人)
泰迪之友:需參與過泰迪軟體兩日以上付費課程者,本人即具有泰迪之友資格。
費用已包含:發票、教材講義、咖啡茶水、午餐、課程證書。
每位學員贈送課程範例原始碼與參考解答,可帶回開發團隊中直接使用。
請學員自備筆記型電腦並安裝JDK與Eclipse開發環境。
課程實況照片
課程進行方式:觀念內容講解、透過樂高遊戲來體驗什麼是重構與重構前後差別、尋找怪味道練習(手寫)、重構練習(上機實作,提供範例與完整程式碼)、分組討論,更多可參考:重構課程實況Day1 、Day2
注意事項
- 報名方式:先填寫線上報名表,確認開課後將收到匯款通知,再行繳費即完成報名。
- 主辦單位將於開課日三天前以e-mail寄發上課通知,若未收到通知者請來電確認。
- 已完成繳費學員若因故無法上課,在開班日前一日申請退費者,退還已繳學費全額。開班日當天到課程進行1/3申請退費者,退還已繳學費四成。課程進行超過1/3之後無法上課將不予退費。 未達開班人數則延期或全額退費。
- 開課單位保留是否接受報名之權力。如遇天災或其他不可抗拒因素導致原訂日期無法開課,開課單位保留修訂日期權利。