5月19日に開催されたTDDワイワイ会に参加させていただきました。
テスト駆動開発なんてやったこともなかったので、良い勉強になりました。
概要
Twitterのハッシュタグは #tddyyχ 最後はXではありません。
どうやら北海道初上陸!会場は公立はこだて未来大学、行くしかない!
未来大×企業エンジニア春のLT大会の翌日に開催されたので、体力に限界を感じつつも全力で参加しました。
当日の様子


TDDとは、モブプログラミングとは
TDDとはテスト駆動開発という開発手法を指します。
テストを最重視する手法で、テストケースに適合するように実装とリファクタリングを進めます。

また、モブプログラミングを三行で説明すると
- 複数人のチームを組む
- 実際にコーディングする一人の”ドライバ”と、ドライバをサポートする複数人の”ナビゲータ”にわかれる
- 一つのコンピュータとディスプレイで作業する
という感じです。
また、TDDワイワイ会さんによるスライド資料をシェアします。
もうブログいらなくね?ってくらい説明がとても詳しく書かれています。
今回は、このTDDとモブプログラミングを合体させたイベントとなっていました。
やったこと
「触れたことのない言語で問題に取り組んでみたい」というチームの方針により、KotlinでFizzBuzz問題を解くことに決まりました。
FizzBuzzは2分あれば書けますが、テストとリファクタリングなどを考えるとなかなか時間がかかりました。
あと、Kotlinスゲー書きやすいなって思いました。競プロ使えるらしいので書いてみたい。

最初、「Kotlinの環境作らなきゃ…」と思っていたのですが、”cyber-dojo.org“という便利なサイトがあるようです。
ブラウザ上で起動し、様々な言語のコーディング環境と問題を提供してくれます。
個人での学習でも使えますが、グループとして複数のPCを使っての学習にも対応しているようです。

コーディング中に休憩として「42」の話をしたりもしました。

また、中括弧の位置について話し合うのもなかなか楽しかったです。言語仕様によって規則が有ったりするみたいですね。
1 2 3 4 5 6 7 8 9 10 |
if(true){ //こんな書き方 } // or if(true) { //こんな書き方 } |
仮実装、三角測量、明白な実装 という概念も知れました。ためになります。(説明は他の人に任せます)
まとめ
TDDやモブプログラミングに全く知識がない僕でもとても楽しく過ごせました!
普段の開発でここまでちゃんとしたテストをやったことがなかったので、貴重な体験でした。
また、間近でつよいひとがコードを書くところを見ることができるのも興奮しました。人様のコードを読む機会はAtCoderの提出だったので…
自分の方針とぜんぜん違う方法で解決するコーディングは、まじで興奮します。
やっぱり人のコード見るのおもしろい#tddyyχ
— Atria@OSCどー (@AtriaSoft) May 19, 2019
また、お菓子が余っていたからと言っていっぱい食べていたのは僕です。すみませんでした。お菓子大好きなんです。
お菓子が出る系の勉強会にぜひ僕を呼んでください。多分お菓子の余りゼロにします。エコです。
と、話がずれましたが、TDD+モブプログラミングでワイワイする会 すごく楽しかったです!
開催に関わってくださった皆様に感謝です。