昨日回顧與今日目標 在 Day 17 中,我們成功整合了 AI 好同事——GitHub Copilot,但我們也需要能夠意識到,一個只會瘋狂寫 producti...
昨日回顧與今日目標 在 Day 16 的理性探討中,我們面對了 TDD 的適用邊界,我們認識到,TDD 雖是利器,卻非萬能的銀彈。 在過去的兩週裡,我們投入了大...
昨日回顧與今日目標 在 Day 15,我們反思了從 TDD Kata 中學到的寶貴經驗,正面回應了「沒時間寫測試」的迷思,並釐清了單元測試在測試金字塔中的核心地...
昨日回顧與今日目標 在過去的幾天裡,我們從經典的 FizzBuzz 到充滿挑戰的字串計算機,我們親手、完整地走過了數次 TDD 的「紅-綠-重構」循環,我們看到...
昨日回顧與今日目標 在 Day 13,我們為字串計算機打下了堅實的基礎,成功地透過兩個快速的 TDD 循環處理了「空字串」和「單一數字」的情況,我們甚至還體驗了...
昨日回顧與今日目標 在 Day 12,我們認識了新的挑戰——字串計算機 Kata,並為它搭建好了獨立的 stringcalc 套件,最重要的是,我們已經用 TD...
昨日回顧與今日目標 在 Day 11,我們行雲流水地完成了整個 FizzBuzz Kata,深刻地體會到,TDD 是如何透過一個個微小的「紅-綠-重構」循環,安...
昨日回顧與今日目標 在 Day 10,我們漂亮地完成了第一個 TDD 循環,讓我們的 Generate 函式能夠正確處理普通數字,我們擁有了一個通過的測試,這既...
昨日回顧與今日目標 在 Day 9,我們成功地點亮了第一盞紅燈,我們為 FizzBuzz 問題定義了最簡單的一個案例: Generate(1) 應該回傳 &qu...
昨日回顧與今日目標 在 Day 8,我們成功搭建了 TDD Kata 練習的專案,一個結構清晰的 go-tdd-kata 專案。我們將開始 TDD 的黃金循環:...
昨日回顧與今日目標 在 Day 6,我們透過「表格驅動測試」掌握了組織和擴充測試案例的強大模式。到目前為止,我們測試的 Add 函式是一個美好的「純函式」——沒...
昨日回顧與今日目標 在 Day 5,我們學會了使用 testify 套件來撰寫優雅且富有表達力的斷言,並掌握了 assert 和 require 的使用時機,讓...
昨日回顧與今日目標 在 Day 4,我們掌握了 Go 內建的測試工具,學會了 _test.go 的檔案結構和 go test 指令的實用flag,我們現在已經可...
昨日回顧與今日目標 在 Day 3,我們從「可測試性」的角度,掌握了 Go 語言的三大核心語法:函式、結構體與介面,我們理解到,良好的程式碼設計是 TDD 的基...
昨日回顧與今日目標 在昨天,我們已經成功 setup Golang 開發與測試環境,並透過一個簡單的 Hello, Test! 驗證了所有工具都已就緒,我們的...
昨日回顧與今日目標 在 Day 1,我們了解 TDD「紅燈-綠燈-重構」的核心思想,並建立起「TDD 是為了更快地交付高品質軟體」的正確心態。理論的種子已經播下...
安安,今年的鐵人賽,我想寫幾篇文章來說明TDD 這件事情,且用 TDD KATA 來入門 Golang 並在最後探索出如何和AI一起做TDD。 首先,如標題所示...
Building Operable Software with TDD (but not the way you think) - Martin Thwaite...
前言 上一次我們測試的寫法,是先請 AI 幫我們大致產出來,修正測試項目,最後才做重構。發現這樣前前後後修改起來,也是蠻花時間的,而且需要花心思去額外比對,看測...
本屆 #JCConf 邀請到 高見龍 分享「從紅燈到綠燈」 講題簡介:測試驅動開發(TDD)是現代軟體工程領域中廣為人知的開發方法。先撰寫測試個案描述實作功能...
Hi all, 今天第九天 今天就來讓專案可以 Insert Block吧! 那由於主要內容都是與SQL做互動,所以我們的code 主要也會動在 reposit...
Hi all, 來到第五天,今天目標是是解說下 區塊的產生並將其實做出來。 首先我們的區塊組成如昨天所述: { "Id": 0, &...
Hi all, 到了第四天終於可以來搞專案了,今天的目標很簡單,我想要寫出取得 Block 的 API。 首先來簡單介紹下 Block 的結構: { In...
Hi all, 來到第三天,今天來稍微介紹下這次 side project 的專案架構好了。 這次主要會是以 tdd 的角度搭建所謂的 三層式架構,分別是 Co...
Hi all, 來到第二天 想先來介紹介紹自己的開發方式,以便往後的code在順序上是看得懂的。 首先 TDD 全名是 測試驅動開發 (Test Driven...
類別整理 我們花了二十幾天,從一行程式都沒有,甚至連規則都不太清楚的情況下,開始我們的 TDD ft. Slot 之旅。我們一開始什麼都不會,只會寫死 ret...
簡單工廠 現在我們的 Calculator 已經有 Slot 算分器基本要有的功能了。真要說的話,一個非功能需求我們還沒達成,也就是「容易創建」。 現在的...
視情況注入判斷規則 截至目前為止,我們判斷要不要從 Base Game 進入 Free Game 的規則都是固定的,我們進入 Free Game 之後要送幾場...
TDD ft. Recovery 在實踐 Recovery 時,按 TDD 的流程,我們要先給一個壞掉的測試。這裡既然我們已經決定要用 Memento 設計模...
Recovery Recovery 是 Slot 遊戲當中很重要的一個功能。Recovery 在做的事情就是,當玩家遊戲玩到一半,突然斷線或想要暫停的時候,可...