iT邦幫忙

2023 iThome 鐵人賽

DAY 9
2
影片教學

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

Day 9 重構長方法與 Primitive Obsession

  • 分享至 

  • xImage
  •  

Yes

長方法

長方法的問題顯而易見地就是閱讀困難。一句話超過兩行,我們就會認為文字不夠精煉而不易閱讀,一段 Code 也是,超過一定長度,就會超出大腦負荷,語意的表現力就會下降。

另一個問題則是表現在『容易被改』,這點現在還看不太出來,我們下次再遇到時再討論。

基本型別偏執

物件就是擁有資料與行為的實體。基本型別雖是必要的存在,但在一定抽象程度的層級使用太多,會讓商業邏輯無法很快被看出來。一般來說,把數值跟操作這個數值的邏輯包在一起是合理的做法。例如用 Screen 物件代表盤面的數據與行為、用 PayTable 物件代表賠率表的數據與行為等。

領域語言

領域語言是一個領域裡的人,溝通上最便利的用語集。例如自由對民主社會的人來說就很容易了解那是什麼,對共產極權社會就很難想像。在 Slot 領域裡也是,一個簡單的 Screen 就能代表『滾輪轉完後畫面上顯示的那 5 x 3 的格子們』。一件事情如果該領域有專門的溝通方式,我們在程式裡就應該從善如流,也用一樣的方式命名。


上一篇
Day 8 引入 Screen 與 Random 的商業概念
下一篇
Day 10 重構出輪帶表與盤面物件
系列文
『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言