TDDBC Tokyo 2017-09に参加してきた #tddbc

TDDBC Tokyo 2017-09に参加してきた。

レポートというより、感じたことや考えたことなど。

tddbc.connpass.com

当日の流れ

  1. 基調講演
  2. ペアプロデモ
  3. ペア決め&ランチ
  4. ペアプロしつつ合間に成果発表的なコードレビュー
  5. 懇親会

基調講演

www.slideshare.net

「バグのモグラ叩きでは多様化する品質には対応できない。プログラムの品質向上がますます求められている。」という話がとても印象的だった。

作りきりじゃなくて継続開発していくものが多くなっているし、新しい技術もどんどん出てくるし、内部品質を上げることの価値はどんどん高まっているのだなぁと。

精進しなくては。

テストファースト、自分も必ずしもやっているわけじゃないけど、ゴールが明確になるのがいいと思っている。

あとステップを細かくできたりとか。

たくさん考えて検討するのすごいなぁと思うけど、作ってみてから分かることの方が多いと思っているので、小刻みに進めていったほうがいいなぁと。

書いてて思ったけど、そうかTDDも学習サイクルだしフィードバックループなんだなぁ(今更再確認)。

ペアプロデモ

f:id:su-kun1899:20171002004343p:plain

ペアプロのデモでドライバーとナビゲータの役割について質問が出てた。

一緒に作業する時、人はなぜ役割を求めてしまうのか。

ドライバーとナビゲータってまぁひとつの分かりやすいモデルなんだろうけど、個人的には役割とかそんなに気にしなくていいと思うんだよなぁ。

会話を止めないこととか、気軽に話せるようにするとか、そういうことの方が大事かなと。

ペア決め&ランチ

Java+Spockでやりたいけど、そういう人いないかなぁって思ってたら、同じ思いの人がいてペアになれた!

Mavenで環境作ってGitHubに上げてたのを使ってくれたので、無駄にならずに済んでよかったw

Java勢もおおかったけど、Groovy勢が多くて何だかうれしかったなぁと。

ランチもScalaの人とかJVM界隈の人たちと同じテーブルで話せて楽しくて、普段は参加しない懇親会に参加を決めるきっかけになったのだった。

ペアプロ

お題はセマンティックバージョニングだった。

お題: セマンティック・バージョニング · GitHub

僕らのペアはマシンは別にしてgithubでpush/pullで交代することにした。

モブでもペアプロでも一台のマシンで、っていうのがセオリーみたいだけど、大体みんな自分の環境にこだわりをもっているから、それを活かしたほうがいいこともいっぱいあると思う。

IDEの知らない操作教え合ったり、Groovyでメソッドまでパラメータ化しちゃうやつ教えてもらったり、学びもいろいろあった。

Spockいいですよねぇ、って話しながらペアプロするの楽しかったw

成果発表的なコードレビュー

ペアの何組かをピックアップして、成果発表的なコードレビューが行われた。

みんな喋りがうまいなぁという感想w

いろんな言語のコードとアプローチを聞けるのは楽しかった。

言語によって気にすることとか全然違うのだなぁというのはC言語の発表を聞いて感じた。

そう考えるとGo言語のように最初からテストの仕組みがあるのは強いだろうなとは思う。

後発言語なので当たり前なのかもしれないけど、どんどん世界は進歩していっているんだなぁ。

懇親会

懇親会ではスライドなんてなくてもよいので、飛び入り可能なLT大会があったので、(ビールの力を借りて)参戦した。

テスト絡みで何かネタあるかなぁ、と探していたら過去にモブプロとテストのことブログに書いてたのでその辺のことを話してみた。

su-kun1899.hatenablog.com

  • テストコードはレビューコストが高い
  • モブプロでやるとテストの質自体もあがるし、レビューしながらやれる
  • モブプロ最高

ってことがうまく伝わっていたらいいなぁ。

まとめ

僕はテストコード書くのが好きだし、楽しいなぁっていうのを改めて再確認するなど。

懇親会に出てみようと思えたのとか、LT飛び入りしようとか、質問がしやすいなとか、運営の方々と参加者の皆さんががそういう雰囲気を作り出してくれていたんだと思う。

たくさん刺激をもらえてとても充実した一日でした。

なお、僕はIntelliJ IDEAアルティメット使っています。そしてSpockは最高です。

f:id:su-kun1899:20171001130126j:plain