完璧主義を捨てる

昨日の日記で紹介した、
史上最高のセミナー
史上最高のセミナーの中からの一句(P37より)

何か小さなことでいいから始めてみれば、やがてはありとあらゆる規律を身につけられるようになることが分ってくるはずだ。


私は元来完璧主義の気があるので、
どうもうまくいかない事や面倒いことを習慣化するのに苦労する。
TDDの習慣もそのうちの一つで、どうも習慣化できない。
はたと気づくと、レガシーコード*1をガシガシと書いてしまっていて、
ああ、もういいやwとなってしまう。


しかし、なぜ?そうなるのかを良く考えたことが無かった。
この本でその理由が見えてきた。


自分で、これがすげぇ!という完璧に近いもしくは、納得がいくテストコードが書けないからじゃないか?と。
つまるところ、完璧を目指しすぎていたということ。
とりあえず、自分の出来るところからコツコツやっていこうと改心した次第である。


まずは、全体的な動きを使う観点から見て、書いてみる。
そして、それらを実装し、
その後、それぞれのテストを書く。書けないときは設計に問題があると考え、
リファクタリングをする。 というやり方で慣らしていこうと思う。
そのうち、中毒になっていることだろう。

*1:Working Effectively With Legacy Codeより。テストが無いコードをレガシーコードと定義しているらしい