Toshiyuki Kawanishi Blog


2011
12 . 2

TDD少年 #TddAdventJp

昨日からはじまった、TDD Advent Calendar jp: 2011ですが、自分の誕生日が12/2がということで、優しい bleis さんに入れ替わって頂きました。あこがれの bleis さんの記事を楽しみにした方ごめんなさい。もういくつか寝れば bleis さんがやってきます。

勢いに任せて Advent Calendar に登録してしまったものの、最近TDDについて声を張って主張出来る何かがまとまっているわけではないですので、思っていることをつらつらと書かせて頂きました。

TDD少年になった

自分はTDDぼっちでした。会社の机の上で一人でTDDをやりはじめたのが原点です。当時はC言語でお仕事していましたので、それこそ assert() を並べてテストを書き始めるところから始まり、CUnitの出力XMLを加工してみたり、CSpecをforkしてPull Request送ってみたりとかしました。Web+DB Press連動の和田さんの動画はそれこそ何回もみました。「おぉ、これがTDDのリズムか」と少年の様に興奮し、この時から自分はTDD少年になり、新たな仕事が始まるたびに、この動画をみること、次の仕事で使う言語で『テスト駆動開発入門』の写経をするのが習慣となっています。

なんで続いたかというと、まあ、楽しかったからですね。コードを書くことが楽しかった。というか、コードを書く楽しさを蘇らせてくれたというか、そういう感じです。自分は、C言語のグローバル変数地獄にはめられたりして、一時期コードを書くのがいやになってしまった時期があったのですが、TDDに出会って大きく変わったと思います。今おもえば、『レガシーコード改善ガイド』の伝説の最終章にあるような、まさにそんな感じだと思います。

今はその当時いた会社からは離れてしまいましたが、当時一緒にやっていたメンバーが今でも勉強会などに来ていて、TDDを続けているというのも嬉しい事です。また、2009年の12月の初回のTDD Boot Campの企画・運営に携わらせて頂いて、やっぱTDDって楽しいんだなと実感したりしました。

楽しさって強制することはできないけれど、楽しさを知れるきっかけに触れないままつまらないと決めてしまうのは残念なことかなと思いますので、是非、まずは一人からでも良いので触れてみて欲しいなと思います。

TDD少年が大人に

TDDも色々な議論を経て少しずつ変わって変わって来ていると思っていますし、進化していくべきだと思います。なのでTDD少年もいつまでも体験に縛られず、成長していかなければならない。たとえば、日本語で紹介されていないけれど、TDDにとって大事なものって沢山あると思うので、TDD少年が大人になるには、そこに当たっていく努力が必要かなと思います。特に『xUnit Test Patterns』と『Growing Object-Oriented Software Guided by Tests』は、実際に自分の書くコードが変わるくらいに影響を与えてくれるので、今後も体当たりしていきたいです。今では、ぺけまGOOS読書会でみんなでキャッチアップしていくということもできるかなと思います。

あとは、個人的な取り組みとしてペアプロ日記というものをつけています。今年はあんまりできなかったけど、来年は頑張りたいなと思います。プログラマ同士が語り合うってことは、一緒にコード書くってことだろうと思います。

TDD Advent Calendar jp: 2011は、つづいてshishiさんです。



2012/03/23 google-house2 参考に
2011/12/08 quodius
2011/12/05 Cherenkov tdd
2011/12/04 mikamama こっちも。「TDD少年 #TddAdventJp」
2011/12/04 inda_re TDD
2011/12/03 akishin999 test 開発
2011/12/03 suginoy 「特に『xUnit Test Patterns』と『Growing Object-Oriented Software Guided by Tests』は、実際に自分の書くコードが変わるくらいに影響を与えてくれる」 programming 開発
2011/12/03 junji_furuya0
2011/12/02 taki0313
2011/12/02 cubeon TddAdventjp tdd
2011/12/02 yujiorama マルチ言語対応可能な理由がわかりました TddAdventjp