第十五屆 佳作

video-tutorial
『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器
Kuma

系列文章

DAY 1

Day 1 前言

緣起 這兩三年有幸獲邀到一些社群或私人企業演講或帶 Workshop。有一個議題是經當討論到的,叫做:「我們的領域很特別,沒辦法寫單元測試」。 每當討論到這個...

DAY 2

Day 2 遊戲流程與名詞定義

SLOT 是什麼? 俗話(?)說得好,要把一個功能做好,必須先了解該領域。只能照著功能刻的開發者很難「刻」出好用的功能。在開工之前,我們先花一點時間來了解一下...

DAY 3

Day 3 第一個測項:輸

萬事起頭…難? TDD 的過程中,第一個測項是很重要的。測項安排得好,TDD 的流程就會順暢。 俗話說:「萬事起頭難。」但在 TDD 時,第一個測項,卻是越簡...

DAY 4

Day 4 用測項「逼」出輪帶表

輪帶表 輪帶表,也有人稱滾輪表,乃 Slot 遊戲中決定遊戲複雜度與好玩程度的關鍵元素。在 Slot 遊戲中,畫面上的滾輪,可以視為一個超長超大的滾輪的「截圖...

DAY 5

Day 5 Five Lines of Code

重構的時機 有的人會說,因為沒時間,所以無法重構。我認為並不是的。事實是你因為放著小問題不管,任憑系統不斷依現有的亂亂的樣子一直長大,等到你發現加東西很困難了...

DAY 6

Day 6 Extract Method

抽方法 抽方法是很常見的重構技巧,其好處有二: 把一個很長很雜亂的函式整理乾淨 抽出去的方法可以命名得更能暴露意圖 有些人會質疑,因為抽方法並不是重構的萬...

DAY 7

Day 7 加入三條線與試寫 Random

試寫 在理想的情況下,TDD 的樣貌就是 Test -> Code -> Refactor 的無限循環。然而,對於天天面對 Production...

DAY 8

Day 8 引入 Screen 與 Random 的商業概念

Screen 原本的設計是把輪帶表直接 return 出去,這是因為我們在測試中注入給主程式的輪帶表只有 5 x 3 的大小。這顯然與事實不符,因為真實的 S...

DAY 9

Day 9 重構長方法與 Primitive Obsession

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

DAY 10

Day 10 重構出輪帶表與盤面物件

再消基本型別偏執 基本型別是必要的存在,因為它儲存了系統的狀態。為什麼「基本型別偏執」會是一個壞味道?因為如果我們大量地直接操作基本型別,那麼閱讀者(也就是三...