読者です 読者をやめる 読者になる 読者になる

upinetree's memo

Web系技術の話題とか。Qiitaも合わせてどうぞ (http://qiita.com/upinetree)

TDD Boot Camp 長岡 1.0 に参加してきた

05/18 (土) に長岡で開催された、TDDBCに参加して来ました!

自分一人でTDDやってみてもよく分からず、前々よりTDDBCに参加したいと思っていたのですが、この度ついに長岡で開催とのことで、念願の参加となりました。

簡単にですが、まとめます。

大事だと思ったところ

  • 気づきは、「動かない→動く」で得られることが多く、早い段階で気付きを得ることが重要
  • 黄金の回転のうち、リファクタリングには意思が必要。意思がないと、回転の円が潰れてくる
  • 複数の問題、大きな問題を一度に相手にせず、小さく分割して連続的に倒していく
    • それを素早く繰り返すことが大事
  • 不安をテストにする。形骸化したテストにはしない
  • TDDの真の目的は健康。変化に対応できるのは健康なコードと健康なチーム

気付き

  • 今まで書いたテストは粒度がバラバラだった、テストを積極的にリファクタリングすることもなかった(特に粒度)。TDDBCで大体の感覚がつかめたので、どんどん書いて痛い目にあって学習しようと思う

  • ペアで作業すると、考えこんで先に進めないということがない。一人でやっているときは半分意地で悩み続けてしまうこともあるが、その前にペアからハッとする意見をもらって解決したり、ある程度のところで切り上げるということができた

  • ペアでのリファクタリングは本当に効果的。それを支えるのがテストコード。テストで振る舞いが保証されていて、安心してコードを良くしていけるのを実感

  • コードレビューで他の方々のコードを眺めて、なるほどと思うことがいっぱいあった。同じ問題をみんなで解いて、みんなでレビューし合うってのは楽しい

  • 新潟にもいろいろな技術者がいて、みんな頑張ってるんだってことが分かった。やっぱ外に出ないとダメだな

反省

  • 慣れてきたとき、段階を踏まずにテストをしてしまい、'Development Testing'でなくなってしまったケースがあった。「明白な実装」かそうでないかの感覚を練習でつかむ必要がある

  • US配列のMBAペアプロしてしまった。入力デバイスとか、エディタはペアとのスムーズなやりとりを妨げないよう配慮が必要だなーと実感した

  • レビューの時、MBAのディスプレイ出力をプロジェクタに出せなくてあたふたしてしまった

  • きのこ本持っていくのを忘れた

これから読みたい本まとめ