TDD與重構 - 個人概觀

  • 1804
  • 0

此篇記錄我對TDD的概觀.

參考網站:

TDD: 是一種開發程式的方法, 大致上就是先依照需求先寫測試, 再由測試的需求撰寫程式碼.


針對這些需求撰寫相關的測試, 再來快速滿足這些測試(暫不管程式碼的品質), 還可讓客戶先看此時的系統是否符合它們的需求.

第一階段的要求很簡單就是所有的燈都是綠燈, 那接下來就要重構!

上述提到了需求, 這是一個 key point, 需求需求? 這個抽象的概念要由何產生, 那終究要回歸到需求分析.

需求分析

  • 需求分析可以是很完整的: (不懂的專業領域)
    收集由客戶描述需求後, 制定 火箭圖 再來 畫活動圖 再到 使用者案例圖, 這些必要的步驟.
  • 需求分析也可以是簡單的:
    由需求直接誕生功能需求.(上面的專業我沒有, 只好來個簡單的需求分析)

需求分析參考網站:
案例研討-關於客戶單位維修作業流程的系統分析
大業務流程塑模的MSS三層次原則

上述提到重構, 這裡簡單介紹之後會將重構獨立一個單元出來.

重構

  • 利用物件導向的觀念, 讓程式碼滿足 S.O.L.I.D 的技術.
  • 此時先撰寫測試的好處就出來了, 每重構一部分程式就可跑一次測試, 如此重複到最後滿足物件導向的要求.

 

所以TDD帶給我們的是先撰寫測試開發方式, 需要搭配額外的專業技能才能真正達到較完善的系統.
那要滿足較完善的系統需要什麼技能? 以下列出目前認為較佳解的方式.

 

推薦書籍: (兩本書已經買不到, 圖書館可借)

  • 學會UML/OOAD這樣開始就對了 -作者: 邱郁惠
  • UML團隊開發流程與管理(第二版) -作者: 賴信仁

 


多多指教!! 歡迎交流!!

你不知道自己不知道,那你會以為你知道