リファクタリングのいつ

リファクタリングのタイミングはいつなのかという問いについて。 ベストなのは開発と並行して。 書いたばかりのコードはリファクタリングしやすい。 時間が経つほど内容を忘れていくのでリファクタリングしにくくなる。 ありがちなの […]

TDDをするべきではない場合

TDDBC 福岡2をきっかけにTDDネタをしばらく書いてきたが、ひとまずこれで最後。 さてTDDに慣れてくるとコードに対してコントロールを握っている感覚がやみつきになり、何でもTDDでやりたくなることが実際にあるのだが、 […]

ペアプログラミングについて

興味を持っている人はけっこう多いけれど、実際にやったことがある人は少ない。 そんなのがペアプログラミングです。 TDDBC 福岡2では久々にペアプロできたので楽しかった。 メリットやデメリットなどは言い尽くされているが、 […]

グリーンバンド

TDDの第一人者であるBob Martinでもテストコードを省略したいと思うときがある。 そんな時に左手を見る。 そこに「acts_as_professional」と刻まれたグリーンバンドがあるとプロとして成すべきことを […]

テストメソッド内のアサーションに関する努力目標

TDDBCのおさらいはまだちょっとだけ続く。 今日はテストメソッド内にアサーションをどのように書いて行くかについて。 理想的にはテストメソッドひとつにつきアサーションひとつにするように努力する テストメソッド内の行数は三 […]

TDDの基本テクニック

TDDBC 福岡2のデモより。 なおこれらのテクニックについては以下のURLが大いに参考になる。写経おすすめ。 RSpec の入門とその一歩先へ – t-wadaの日記 アサートファースト ゴールから書き始め […]

テストコードのリファクタリング

TDDBC 福岡2でのTDDの失敗ケースとは何かという質疑応答から。 テストコードにもリファクタリングが必要 昔はテストコードがメンテ対象であるという意識が薄かった 見てすぐ分かるテストコードがよいという考えからコピペコ […]

不安をテストに

昨日書いたようなTDDの話を初めて聞いた時に個人的に特に腑に落ちたのが「不安をテストに」 TDDを始めてみたはいいものの、何に対してどこまでテストを書いたらいいのか分からないという人は多いんじゃないかと思う。 その分かり […]

TDDの基本的な考え方について

今日はTDDBC 福岡2の講演を聴きながら取ったメモを転載。 TDDとは何か、なぜTDDするのか、どのようにTDDを進めていくのか。 テストは目的ではなく手段であり、真の目的は「健康」。 TDDはスキルだから誰でも習得可 […]

プロダクトコードとテストコードを別の言語で書く

先日のTDDBC 福岡2のディスカッションの中でそういう話が出た。 最近そういう議論があるらしい。 テストコードは最初のサンプルコードであるべきという従来の考え方がある一方で、メンテナンス性などを考えると短く気持ちよく書 […]

TDDBC 福岡2に参加してきた

去る11/26-11/27に開催されたTDDBC福岡2に行ってきた。 TDDを個人的にはやっているけれど、他の人がどうやっているのか、自分のやり方が他と比べて相対的にどうなのかを確認してみたい。 そんな動機が根底にあって […]

ライブラリの動作を学習するためにテストを書く

TDDのパターンに学習用テストというものがあると『テスト駆動開発入門』に載っていた。 自分が作ったものではない外部のライブラリを使い始めるときに、動作を確認するために小さなコードを書く、ということは誰でもしていることだと […]

久々にJasmine Titaniumをアップデートした

akahigeg/jasmine-titanium – GitHub JasmineをTitanium上で動かすというプロジェクトは他にもちらほらあるものの、自分にとって使いやすいものが今のところないので、ま […]

テストコードを書くコストに関する考察

昨年お世話になっていた職場の仕事仲間と先月ランチする機会があった。 自分の関わっていたプロジェクトはペアプロやTDDを実践していたのだが、残念なことに自分が抜けた後はテストコードを書かなくなってしまったという。 理由を聞 […]