TDD Boot Camp in 香川 #1.0 まとめ

7月21日に高松で開催された TDD Boot Camp in 香川 #1.0 のツイートをまとめました。
3
Guni / Takashi Iiguni @guni1192

TDDと黄金の回転において一番脆いところはRefactoring #tddbc459

2018-07-21 11:06:06
Takahiro Kato @TakahiroKato311

リファクタリングは部屋の掃除みたいなもの。これをしないと、関わるタスクが非効率になる。 なるほど、非エンジニア相手の説明に良いかも。工場の5S活動みたいなものかな。 #agile459 #tddbc459

2018-07-21 11:08:40
Tomohiro Kobayashi @kobatomo3H

お客様に使ってもらわないとわからない。 softwareを作るというのは、スタートでしかない。 #tddbc459

2018-07-21 11:11:09
Tomohiro Kobayashi @kobatomo3H

TDD Liveコーディング スタート。 > ToDoリストを作る。 #tddbc459

2018-07-21 11:14:44
Tomohiro Kobayashi @kobatomo3H

ToDoリストは、終わったらわかるように - [ ] マークをつけるといいよ。 - [X] 変換する - [ ] 計算する #TDDBC459

2018-07-21 11:19:09
Tomohiro Kobayashi @kobatomo3H

TDDの1周目は、大変。 色々準備しないと行けないので、まずはシンプルな項目を選ぶと良い。 #TDDBC459

2018-07-21 11:21:15
Tomohiro Kobayashi @kobatomo3H

ファイルレベルで1 対 1 の関係がわかるように。 プロダクトコード FizzBuzz テストコード:FizzBuzzTestという名称が良い。 #tddbc459

2018-07-21 11:23:49
Tomohiro Kobayashi @kobatomo3H

テストコードのメソッドは、日本人とのメンバー同士なら日本語で書く。 なぜなら、そのまま動く仕様書とするため。 #tddbc459

2018-07-21 11:26:27
Tomohiro Kobayashi @kobatomo3H

3Aパターン // arrange (前準備) // act (実行) // assert (検証) 最初に assert ゴールを書くことを意識する。 #TDDBC459

2018-07-21 11:28:13
Tomohiro Kobayashi @kobatomo3H

assert(期待値、実測値)は、ツールの仕様にとってばらばら。使う前に確認しよう。 #TDDBC459

2018-07-21 11:29:44
Tomohiro Kobayashi @kobatomo3H

テストコードを書こうとして手が止まるのは良いサイン。具体化していないToDoリストを具体化することから始めよう。 #tddbc459

2018-07-21 11:31:25
kazu 𝕏 ueda🧍 @kazweda

作る前に使う。 作ってから使うと作ったものの重力がかかる。 作りやすいコード < 使いやすいコード #tddbc459 #agile459

2018-07-21 11:33:41
Takahiro Kato @TakahiroKato311

テストの検証内容は具体的に × 数字を渡すと文字列に変換する ○ 数字の1を渡すと文字列1に変換する #agile459 #tddbc459

2018-07-21 11:34:04
Tomohiro Kobayashi @kobatomo3H

ショートカットでどんどんコードが出来上がっていく。 が1周目の大変さも改めてわかる。 #tddbc459

2018-07-21 11:36:42
kazu 𝕏 ueda🧍 @kazweda

ToDoリストが大まかすぎてテストメソッドを書いたところで何をすればよいかわからない場合は、ToDoの項目を細分化して少し具体的な項目を追加してみる。 #tddbc459 #agile459

2018-07-21 11:37:01
Haruyori Matsuura @haruyori2001

リファクタリングは独立させると孤独死する。小さなプロセスに組み込んで高速で回す。#TDDBC459

2018-07-21 11:39:38
Haruyori Matsuura @haruyori2001

使いにくいけど書きやすいコードを書かせない。テストを先に作ると使いやすいコードを書く理由になる #tddbc459

2018-07-21 11:39:54
kazu 𝕏 ueda🧍 @kazweda

テストコードのテストは、実装コードに意図的に変更を加えて、テストコードで検出できることを確認する。 #tddbc459 #agile459

2018-07-21 11:41:11
kazu 𝕏 ueda🧍 @kazweda

まずは茶番コードでグリーンにする。 #tddbc459 #agile459

2018-07-21 11:41:47
Takahiro Kato @TakahiroKato311

最初のテストは、実装コードの結果に、テストコードの正 or 誤の値をハードコーディングして、テストコードのテストを行う。 #agile459 #tddbc459

2018-07-21 11:42:44
kazu 𝕏 ueda🧍 @kazweda

ひどい茶番を真面目なコードに戻していく。 #tddbc459 #agile459

2018-07-21 11:43:26
Takahiro Kato @TakahiroKato311

1つのテストにassertを書きすぎると、どこで失敗してるのかを調査しなければいけない。テストとassertは1:1にするべき。 #agile459 #tddbc459

2018-07-21 11:46:51
Tomohiro Kobayashi @kobatomo3H

変更して、すぐテスト。変更して、すぐテスト。グリーンの安心感はいいよねー。 #tddbc459

2018-07-21 11:47:38