TDDYYχに参加して
はじめに
大学で行われたTDDワイワイ会(TDDYYχ)に参加しました。
昨年参加したenPitの合宿でもTDDのモブプロワークショップをしたので感覚的には2回目でした。(おかわり組と呼ばれているとか...笑)
なお、ワイワイ会(YYχ)のχ(はX(エックス)ではなく、χ(カイ)とのこと。
TDD(テスト駆動開発)
スタッフの方の詳しいわかりやすい資料はコチラ↓↓↓
TDD(Test - Driven - Development:テスト駆動開発)はプログラムの開発手法の一種でテストファーストのアプローチをとります。
まずはプログラムがREDになるテストを書く
Ex) 結果が1になって欲しい!!まずはプログラムanswer()に対するテストを書く!
以下のテストコードではREDに
//プログラム int answer(){ return 2; }
//テストコード if(answer() != 1){ printf("The answer is not 1"); }
次にREDをGREENに
どんなにやっつけでもいいから、まずはテストが動くようにする
Ex) answer()は2-1で1が返ってくる。ひとまずGREENにできた...!
このままでもいいがまだ改善の余地はありそう
//プログラム int answer(){ return 2-1; }
//テストコード if(answer() != 1){ printf("The answer is not 1"); }
REFACTORINGでコードを綺麗に
テストがパスする状態で重複であったり余分なものを削ぎ落とし簡潔にします。また、コードの可読性についても検討します。
Ex) ここまですればanswer()が1を返すのは容易にわかる
//プログラム int answer(){ return 1; }
//テストコード if(answer() != 1){ printf("The answer is not 1"); }
RED → GREEN → REFACTORING → RED → … のサイクルを繰り返し、設計、実装を行っていきます。
Go で FizzBuzz
ドライバー(コードを書く人:1名)とナビゲーター(その他)でモブプロを行いました。RED → GREEN → REFACTORING → REDと一周回ったらドライバーを交代
メンバーの使用言語はPython、C#、JavaScriptと割とバラバラで 誰もGOに触れたことがなかったのでGOでFizzBuzzをすることになりました。
ドライバーが逐一する内容を口に出すと言うルールのもとモブプロが行われ、チームでコミュニケーションを取りながらワイワイコードが書けて楽しかった!!
初めてGOに触れるいい機会にもなりました
まとめ
やったこと
- GOを初めて使った
- FizzBuzzにモブプロで取り組んだ
わかったこと
- ワイワイ会は何回やっても楽しい
- 知識を共有することで知らないことを学べるし、知っている知識を深めることができる
- ちょっとしたことでも拍手が起きるのでとても居心地がいい
次やりたいこと
またTDDワイワイ会が近くであるなら参加したいです。 次はまたGOで違った問題にも挑戦してみたい‼︎