TDDBC2019札幌
北海道には梅雨がない、という神話が打ち砕かれる瞬間を目の当たりにしながら今日もぼっち開発の1日が始まります。
だけど今日のマインドはいつもと違うのだー。
理由1:MacBook Pro キーボード修理プログラムに該当していた使えないキーボードが修理されて返ってきたから。
理由2:週末にTDDBC2019札幌に参加して注入してもらったから。エネルギーとかモチベとか、元気とかテンションとか、1人じゃない、とか。
このまましばらく突き進みたいので、学んだことを書いておきたいと思います。
時は2019年6月15日。所は札幌。基調講演はあの@t_wadaさん。@i_takehiroさんも温和な風貌の下に切れ味抜群のマサカリを秘めて登場してくださいました。
エントランス
@izumii19 & @nemorineさん作成のスタンドのスタンドがみんなの心を鷲掴み
基調講演
基調講演は2時間の予定でしたが、ライブコーディングに気持ちがグッと持って行かれ、最後の質問コーナーが終わった時には約45分押し、なのに「もう終わっちゃったよ〜」と感じてしまうような熱い時間になりました。
参加者の皆さんにより語録が出来上がっています。必見です。
TDDBC札幌2019
わたしは、あまりtwitterに残すほうではなくてアナログなので、こんな感じに残しています。
あとで1人で浸れれば良い、というスタンス
・大事なところはテストしやすく。
・ゴールは「動作する」「綺麗な」コード
・やりすぎない
などなどTDDを行う上で知るべきことがたくさん語られました。
それと、「まずは表現を正規化してみると、見えてくるものがあったり、なかったり。」というフレーズが気に入りました。こういう作業ってすごく大事だと思います。たとえ何も見えなかったとしても。
もう一つ、いいなーと思ったのは、テスト駆動は厳しい修行のようなものではない、ということがハッキリしたということです。普通の人が「動作する綺麗なコード」を書くためのツールとしてのテスト駆動なので、むしろ凡人の味方です。
とはいえ、今のわたしみたいにテストカバレッジほぼ0%のプロジェクトに入ってしまって、これからカバレッジを上げていこうとしている現場では、テストを書くことが辛いものになってしまったりします。
そんな時に使える小技をもらいました。
小技1:分割統治。先を見てしまうと落ち込むので分割統治して確実に弱い奴から倒していく。
小技2:プロダクトコードを必ずGREENが返ってくるように書いてみる。バカみたいなんだけど、これでテストのテストができる。それにRED続きよりも元気が出るよ!目にも優しいし
t_wadaさんによるライブコーディング
これはもう、見た人にしか分からない高揚感なので、語りたくありません。
ただ、圧巻としか。自分は見てただけなのにやっつけてやった感。FizzBuzzも完全に征服されました。
ペアプロでテスト駆動体験、その後コードレビューでマサカリ体験
午後からの部では、様々な言語のペアを組んで、実際にテスト駆動を体験しました。
わたしは、javascript×jestでTDDやってみました。普段はRails×Rspecなので、新しい分野でしたがペアプロって良いですね。初めてでも怖くないし悩むのがむしろ楽しい。
コードレビューでは、前半と後半にそれぞれ1組のペアが自分たちの書いたテストコードとプロダクトコードを発表します。
ここで噂のi_takehiroさんのマサカリ体験をすることができました。なんかもう、マサカリが飛んできてるのにみんな喜んでて、この世界の人たちが全員異常者に見えました。だけど、そんな空気が好き。大好き。
懇親会
懇親会では、北海道ならではの牡蠣とか牛肉とかクラシック生、とかを楽しみながら各テーブルでマニアックな人たちがマニアックな話を繰り広げていました。
t_wadaさんとお話しすることができて、大量のレガシーコードに1人で挑む上で挫けないためのマインドセットをいただきました。わたしだけのものなので、秘密です。ただ、テストカバレッジ65%くらいまでは効果をモリモリ実感できるけど、不思議なことにそれを越えると実感が薄くなってくるというお話は興味深かったです。
というわけで
とにかく熱い、TDDBCでした。札幌でTDDBCを行うのは8年ぶりだったそうですが、これを機に毎年開催できるといいなー、ということだったので、今回参加できなかった方は是非是非アジャイル札幌のイベントをチェックしてみてください。