iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
影片教學

『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器系列 第 17

Day 17 大步重構出 單一 Reel 物件

  • 分享至 

  • xImage
  •  

Yes

TDD 的「標準姿勢」

重構的過程中,我一定要用付費的 IDE 來做事嗎?我一定要把步驟切這麼小嗎?當我腦中就真的有一個非常清楚的樣貌,這時我可不可以不要 baby step,直接整段重寫?

我自己是覺得倒也沒關係,當你腦中已經確定了這一段重構完會長怎麼樣,那其實要不要再切小一點,這其實是你可以決定的事情。

我們這一篇會來試看看,一次做大步一點,幾乎整段重寫,會發生什麼事情。

單一 Reel

我們拿來重構的是輪帶表 Reels 中的一個滾輪:Reel。

原本 Reels 裡存了一個 List of List of String 來代表資料。這裡還是有一些 primitive obsession 的壞味道,我們打算再拆小一點,讓一個新物件:Reel 來代表「一個滾輪」。有了 Reel 後,Reel 的行為就可以幫助我們簡化 Reels 的邏輯。

我們來看看這樣的重構,在測試的保護下,用「幾乎重寫」的方式來做,看起來會是怎樣。


上一篇
Day 16 Primitive Obsession 與 CQS
下一篇
Day 18 Free Game 簡介與開頭
系列文
『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言