2012-01-01から1年間の記事一覧

テストをリファクタリングするとき気をつけること

TDDのサイクルはRed-Green-Refactoringです。このリファクタリングは、プロダクトコードはもちろんですが、テストにも適用されます。しかしテストのリファクタリングには、プロダクトコードのリファクタリングと違うところもあります。プロダクトコードのリ…

ペアプロでTDDやってみよう(ライフゲーム) その4

今回はライフゲームTDDその4、その1、その2と、その3で誕生の実装ができました。基本的な枠組みはできているので、完成までは間近です。しかしあらためてコードを眺めてみると、特にテストコードのほうがゴチャゴチャして読みにくくなっています。プロダクト…

Red-Green-Refactor

よく「ほんとに最初にRedにするんですか?毎回必ず絶対に?」と聞かれます。ひとことで答えるなら、すみませんたまに飛ばしちゃいます三ことぐらいですかね。だけど、ほとんど毎回Redを経由するようにしているのも、本当です。なぜ最初にRedにするのか。理由…

ペアプロでTDDやってみよう(ライフゲーム) その3

その1、その2と続いて、今回はライフゲームTDDその3です。なかなか完了しない、誕生の処理を完成させたいと思っておりますが、どうなることやら。前回はスパイクをへてCellクラスを抽出し、TDDで実装しました。このあたりのコーディング、本来はTODOリストに…

TDDやってるとバカになりませんか

偉いプログラマとは、仕様書を一読して内容を完璧に把握し、沈思黙考して完璧な設計を脳裏に描き、神速のキーボードさばきで一気にコーディングを終えると、ノーエラーでコンパイルが通り期待通りに動作する完璧なプログラムが完成する、デバッガなんてのは…

ペアプロでTDDやってみよう(ライフゲーム) その2

さて、前回は誕生のテストを書いたところまででした。ここからは、誕生の処理を実装します。テストの書き方によっては、中央の1セルだけ考えれば済んでいたかもしれないのですが、3x3のグリッド全体をちゃんと対応しなくてはいけなくなってしまいました。マ…

事前設計とTDD

実はモデリングが大好きです。元々はオブジェクト指向プログラミングを勉強しているところからUMLに(自然に)興味が向き、そこからオブジェクト指向設計とかオブジェクト指向分析とかそういう脇道にそれ(脇道とか言ったら怒られる!)、仕様も設計もこれからは…

ペアプロでTDDやってみよう(ライフゲーム) その1

アジャイルなソフトウェア開発を導入する手伝いという仕事の中で、ペアプロでTDDをやってみせるという機会がよくあります。ここ最近のバディであるid:haru01と組んで、ライフゲームをやってみせるのが定番化しています。ライフゲームをテーマにしてどんなふ…

TDDで変わった人生

プログラミングは大学生の頃からしていました。さらに辿れば小学生からBASICでゲームを書いたりしていたので、期間だけで言えば30年近くプログラミングをしてきたことになります。大学のときにはアルバイトでプログラマをやっていて、小さいながら1システム…