Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

TDD をやってわかったこと

TDD 初日の感想を書きましたが、快調に進んだのはこの1日だけ。
2日め以降は途端にペースダウンし、トロトロとやってました。

ダミーでガーッと書いたところを、正式なコードで埋めていく際の
「小さく、少しずつ、テストを動かしながら」の感じがうまくできない。
『あそこと、ここをこうやって...』などと考えて、一気に全体を書き上げてしまおうとする。
TDD に合わない、今までのやり方。
まだ TDD のコツがつかめていないと思う。

それでも、あらかじめテストがあると、動かせばわかる、何気ないミスがすぐに見つかる。

それを知ると、いつコードが破綻しても「わかる」ように、assert をすごく意識して入れるようになった。

テストや assert に見つけてもらう。バグ出し自体には頭を使わない。だからラクチン。

逆に、テストや assert を考えることで、仕様やコード自体をより深く考えることこなる。

TDD にはそんな効果があることがわかった。

そこまでやって動かしておくと、自分のコードに自信が持てる。
このままシステムにマージしても大丈夫だという安心感がある。
これもすごく大事なことだ(最近あまりコードを書いてなくて、すっかり忘れてしまっていたけど)。

今やひとりひとりにデバッグ環境が与えられ、すぐに動作させられる環境がある
(組込みの現場では、ボードや ICE の制約は相変わらずあると思うけど)。
昔からのやり方じゃなくて今の状況に合ったやり方をしていかないとね
と、これまたあらためて思ってしまった次第である。