軟體重構入門實作班

課程-軟體重構入門實作班

課程-軟體重構入門實作班

 

第六梯次

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),以及移除這些怪味道的重構方法。

在介紹完重構的基本知識之後,介紹常見怪味道,並且讓學員現場實作練習移除怪味道的重構方法。經過三天密集的練習,期望學員不但能夠具備看出自己專案中程式碼的怪味道的能力,更進一步可以套用所學的重構方法來改善軟體設計、提升物件導向設計能力,償還技術債。

本課程適合下列人士:

  1. 手邊的軟體已經僵化成硬體,想改也改不動的人。
  2. 苦無系統化方法學習軟體重構之有理想、有抱負的程式設計師。
  3. 想成為一位有能力償還技術債的工程師。
  4. 對物件導向設計有興趣者。
  5. 接下爛攤子維護既有軟體系統的工程師。
  6. 學過TDD但不知如何利用重構改善系統設計者。
  7. 有志成為軟體架構師者 (什麼都要懂一點 XD) 。

入門課程涵蓋的內容為:

  1. Refactoring 簡介
  2. 從定義看Refactoring
  3. Refactoring初體驗
  4. Refactoring kata
    • Tennis game kata
    • Bowling game kata
    • Gilded rose kata
  5. Dispensable Smells and Their Refactorings
    • Comments, Duplicated Code, Lazy Class, Data Class, Speculative Generality
  6. Bloater Smells and Their Refactorings
    • Long Method, Long Parameter List, Large Class, Data Clumps, Primitive Obsession
  7. OO Abuser Smells and Their Refactorings
    • Switch Statements, Temporary Field, Alternative Classes with Different Interfaces, Refused Bequest
  8. Coupler Smells and Their Refactorings
    • Feature Envy, Message Chains, Middle Man, Inappropriate Intimacy, Incomplete Library Class
  9. Change Preventer Smells and Their Refactorings
    • Divergent Change, Shotgun Surgery
  10. 重構與設計方法

課程包含講解與實作練習,分組教學,隨時排解實作練習時遭遇的困難。

※ 注意:課程內容與練習範例均以Java語言為主,並提供練習程式碼與參考解答。

專業師資陳建村 (Teddy Chen)

  • 泰迪軟體創辦人,從事敏捷開發顧問、教育訓練、軟體工具導入等服務。
  • 台北科技大學機電科技研究所(資訊組)博士班畢業,有23年以上軟體開發經驗。
    曾擔任程式設計師、技術總監、敏捷專案經理、軟體架構師、敏捷顧問、敏捷課程講師。
  • Teddy從2001年接觸與實踐敏捷方法XP,在2008年開始帶領他的第一個Scrum團隊,歷時三年半。
    其後成立泰迪軟體,擔任不同產業的敏捷教練,顧問與培訓課程講師至今。
    同時也在北科大資工所擔任兼任助理教授,講授「敏捷與精實軟體開發」以及「軟體架構」。
  • 2012年6月出版暢銷書「笑談軟體工程:敏捷方法的逆襲」,獲iThome週刊推薦為2012年iT人必看好書。
    2014年5月,出版第二本書「笑談軟體工程:例外處理設計的逆襲」。
  • 2007年起,Teddy經營部落格「搞笑談軟工」至今,閱讀人次破百萬。內容涵蓋軟體工程、敏捷開發方法、設計模式、軟體測試與重構、例外處理等內容。

費用

原價:$35,000元
早鳥優惠票:$29,900 元(2021/5/20前報名)
泰迪之友票:$28,900 元
兩人同行價:$27,900 元(每人)

泰迪之友:需參與過泰迪軟體兩日以上付費課程者,本人即具有泰迪之友資格。
費用已包含:發票、教材講義、咖啡茶水、午餐、課程證書。

每位學員贈送課程範例原始碼與參考解答,可帶回開發團隊中直接使用。
請學員自備筆記型電腦並安裝JDK與Eclipse開發環境。

課程實況照片

軟體重構入門實作班課程網頁實況照片
軟體重構入門實作班課程網頁實況照片

課程進行方式:觀念內容講解、透過樂高遊戲來體驗什麼是重構與重構前後差別、尋找怪味道練習(手寫)、重構練習(上機實作,提供範例與完整程式碼)、分組討論,更多可參考:重構課程實況Day1 、Day2

本課程公開班已結業梯次:

  1. 2016年03月15、16日 課程實況:Day 1 、 Day2
  2. 2016年05月21、22、28日
  3. 2017年9月8、9、10日(五、六、日)
  4. 2019年3月22、23、24日(五、六、日)
  5. 2019年8月31、9月1、9月7日(六、日、六)

2021計畫開課班次:

  • 2021年7月9、10、11日(五、六、日)

注意事項

  • 報名方式:先填寫線上報名表,確認開課後將收到匯款通知,再行繳費即完成報名。
  • 主辦單位將於開課日三天前以e-mail寄發上課通知,若未收到通知者請來電確認。
  • 已完成繳費學員若因故無法上課,在開班日前一日申請退費者,退還已繳學費全額。開班日當天到課程進行1/3申請退費者,退還已繳學費四成。課程進行超過1/3之後無法上課將不予退費。 未達開班人數則延期或全額退費。
  • 開課單位保留是否接受報名之權力。如遇天災或其他不可抗拒因素導致原訂日期無法開課,開課單位保留修訂日期權利。

第六梯次

2021年7月9、10、11日(五、六、日),三天 09:30-16:30(共十八小時)