satococoa's blog

主にサーバーサイド、Web 系エンジニアのブログです。Go, Ruby, React, GCP, ...etc.

TDDBC横浜に参加しました

11/5(土)に開催されたTDDBC横浜にスタッフ、そしてJavaScriptのTAとして参加してきました。
遅ればせながらエントリーにしたいと思います。

参加のきっかけ

Yokohama.rbで@setoazusaさんがスタッフの募集を告知されて、それに乗っかった形で参加させていただきました。

TDDBCといえば毎回告知から数時間ですぐに参加枠がいっぱいになってしまうような人気イベントです。僕も過去参加申し込みをしたことがありましたが、絶望的なキャンセル待ちとなり参加できずじまいでした。
そんなTDDBCに参加できるとあればやらない手はありません。

予習

そして開催日の数日前にRubyではなくJavaScriptのTAを依頼され、正直JSのTDDを教えられるほどの自信はあまりなかったのですが、いい勉強の機会だと思って引き受けさせていただきました。(そのため、突然QUnitのエントリを書いたのでした→QUnit + QUnit-TAPでJSのTDDをしてみた

JSのTAをするにあたって事前に予習したのはQUnit+QUnit-TAPでのnode.jsを使ったTDDだったのですが、ブラウザでのTDDの動作も確認しておかねば、と思い当日の電車の中でQUnit on ブラウザの環境を整えながら会場へ向かいました。
とはいえ結局テストの書き方はほとんど変わらないので、ブラウザでもguard-livereloadなどを併用すれば十分テンポよくTDDできますね。

また、QUnitと並んでJasmineの方もとても人気のあるJSのテスト用ライブラリです。今回は使いませんでしたがrspecのような書き方ができ、業務でも使っているので個人的にももっと使い込んでいきたいと思います。

当日

イベント自体の当日の様子などは既にwikiにまとめられているので、そちらをご参照ください。
TDDBC横浜/記録

今の職場では幸い業務でTDDできているのですが、やはりt-wadaさんの(RedBull片手の)基調講演を聴き、他の方のテストや今まで触れたことの無かった言語のテストなどを見ることにより、だいぶ自分のテストの書き方もブラッシュアップすることができました。

たった1日のイベントではありましたがずいぶんテストに対する考え方が整理されました。

  • red -> greenにするだけではなく、きちんとリファクタリングをしよう
  • テストすべきは自分が不安に感じるところである
  • 自分が最初のユーザーになる気持ちで、APIをどう使いたいかという視点からテストを書く
  • テストは目的ではなく手段であるということ

ペアプロやりたい

久しぶりにペアプロをやってみて感じたのですが、他の方がどんなことを考えながらどういう書き方で実装するのか、をライブで見るのは非常に面白いですし、勉強になります。

いいコードはgithubでいつでもたくさん読むことができますが、やはりライブは完成品に至るまでの過程が見えるあたり情報量が違いますよね。

他にも使っているエディタやプラグインの話をしたり、同じ実装をするにしても書き方の流儀が違ったり(JSのオブジェクトの作り方とか)そんなやりとりもペアプロの魅力だと思います。

ハッカソンの企画が終わったらペアプロも企画してみようかなぁ・・・などと画策中です。

やはりTDDBootCampですからね。Bootしただけじゃなくて、今後はそのスキルを上げていないといけません。TDDはスキルであり、そして量は質に転化する。積極的に機会を見つけて今後もスキルアップしていきたいと思います。

素晴らしいイベントでした。参加させていただいて、そしてスタッフ・TAやらせていただいて光栄です。ありがとうございました。