新人プログラマに贈るテスト駆動開発とのつきあい方

http://www.infoq.com/jp/interviews/coplien-martin-tdd_ja
見ていて、自分がテスト駆動開発でいきなりやれと言われても無理だろうなと思ったので自分の経験を振り返ってみてどうやったらテスト駆動開発に乗れるのか書いてみようと思う。
 ヒヨッコプログラマーがはじめてのプロジェクトでいきなりテスト駆動で開発しようとしても難しいだろうなというのは感じます。それは全体があっての部分、細分化なので小さく始めようにも全体が把握できていてなくては作ることができないだろうと思うからです。できたとしてもそのときの経験不足からくる使えない仕様を思い込みでつくってしまい何度も作り直しが発生すると思う。自分でも未だに作り直したほうがいいかなと思うときがある。テスト駆動開発をしているといってもほとんどの人は頭の中ではこう作ろうという全体的なイメージを思い描きつつ(アーキテクチャとかフレームワークっていうの?)作っている人がほとんどじゃないかと思う。じゃあ、ヒヨッコプログラマーはテスト駆動が当たり前になってきた時代にどうするべきか。
5人以下ぐらいの小さなプロジェクトならとにかくベテランプログラマが頭に持っている全体像をなんとか把握できるよう質問しつつ自分ならどう作ったらいいかを考え続けることです。そして、今はほとんど誰も薦めてくれないであろうUMLとかそういう設計に関する勉強をするといいと思います。たいていの人はこれを読んで設計に時間がかかることにイライラしつつも取り組んだし、その経験を経ることで頭の中で全体を描くという次のステップへの道すすめることができたんじゃないかと思う。ベテランプログラマだって最初からすらすらテスト駆動開発ができた訳じゃなくてどう作ったらいいんだろうかと、設計にすごく時間をかけていたときがあったと思う。
大規模になると全体を把握するのはとてもじゃないけど難しいだろうと思うので、…とここまでかいて自分が大規模開発の経験がないことに今気がつきました。だれか続きを書いてくれたら大規模開発に放り込まれた新人プログラマは喜ぶと思います。誰かかいて。
これを書いていて今になってかえって自分こそ、もう一度様々な設計に関する知識を深めた方がいいだろうなと感じた。

ゴキ

朝、布団をしまう時にゴキブリのような死骸を押し入れで見つけた。
小さめだったし既に死んでいるのだからと特に気にせずにいた。
夕方、ジョギングの後に食器を洗っていたら何かが目の端で動いたのをとらえた。
うん。ゴキブリだ。
どうも朝見つけたのは死骸ではなく脱皮した抜け殻のようなのです。
色といい大きさといい朝見つけた抜け殻をちょっと大きくしたような位だった。
ちゃんとゴキジェットで退治したけど。ああ、もうゴキブリでるなんて。

理性が働いていない音楽

なんだなぁと思った。久しぶりに感動した。
BORN ruffians | Listen and Stream Free Music, Albums, New Releases, Photos, Videos
Red Yellow & Blue
特別珍しい楽器を使っている訳でもない、すごい曲だと思うほどでもないように思うんだけど。曲のむこうにある志みたいなのがすごいのがすごいと感じます。というわけわからないような感想になってしまう。

date_selectってちょっと不便

  • include_blankで年だけ指定すると勝手に1月1日となる
  • 2/31とか設定するとnewしたときに例外がでる。(validates_multiparameter_assignments プラグインで回避できる)
  • 上記プラグインで対応して、validateエラーとすることはできたが設定値が保持されない。

これらを解決できるプラグインと、郵便番号など一つの列を複数のフィールドで入力されてもいいようにするプラグインがあったらいいかなと思った。

class Hoge < ActiveRecord::Base
  multiparameter :birthday
  multiparameter :zip_code /(\d){3}-(\d){4}/
end

ということで作ってみようと思う。

三十路を目前になにかがかわってきたのだろうか

最近映画を観ても、どうも判然としない違和感のようなものが沸き上ってきて、叫びたくなるような衝動に駆られることがない。
ポーラX [DVD]
ザ・ロイヤル・テネンバウムズ [DVD]
ブギー・ナイツ [DVD]
マグノリア コレクターズ・エディション [DVD]
”あぁーっ!!!”という衝動の対象物として何かが存在していると感じることができるかどうかが重要で、それが何かと言われると説明できないけれど、価値判断の一つであった。「ゼアウィルビーブラッド」はすごい映画だと思うけれど、どこか違和感を感じています。ダニエルが浜辺で弟だと名乗る男に疑いを持ち始めたときの演技は誰にも真似できない演技だと思った。

変わったこと

  • うす味を好む
  • 肩こりがあまりひどくならなくなった
  • 激しい落ち込みや、怒りをあまり感じなくなった