---
# System prepended metadata

title: 2018 JCconf TDD workshop筆記與心得
tags: [TDD]

---

2018 JCconf TDD workshop筆記與心得
===
一種開發方法

寫失敗的測試 
->通過測試
->重構
(重複循環)

網球需求
要考慮到所有的需求
Ex. Love fifteen.


＊要先從最簡單的測試開始寫
＊要用最簡單的方式過測試

＊怎麼挑下一個測試很重要
往往是找 based step
下一個離前面兩個比較相近的


intelliJ 先new 一個class 
打完new Tennis 可以透過快速鍵 (ctrl+? Option?)新增一個類別
在建一個方法
也可透過快速鍵 鍵一個method


＊重構：有分重構測試與代碼，不要改變原有的需求功能（行為）

做了一點點修改後 就可以跑一些測試 跑整個class
也不怕改壞因為有跑測試

Ex.命名 或是重複程式碼 code smell

嚴格執行 不會同時修改 測試與代碼
因為你改了測試 結果錯了 代表你測試寫錯
改了代碼 結果錯了 代表你代碼改錯

＊不寫一定通過的測試代碼

＊不要一步登天的改完code



可以用Map<Integer,String>
Map多餘？

總結================
ＴＤＤ實際上在做社麼？
步伐放慢，一次走一步->
如果不使用的話 無法在代碼完成前作驗證
也可不用一次把代碼想清楚

拆解小環節
透過上面三個步驟疊加你的城市

＊＊＊＊分解你手上的任務（需求）

被打斷的話 影響也不會這麼大
有序地完成你的工作

花的時間不一定比較少
但是重構做得好 代碼品質高

可以盡量使用快捷鍵
vi
快捷鍵 ex.（）裡的


 







###### tags: `TDD`


