結局、テスト駆動開発(TDD)しかプログラマーを救う道はないなー と常々感じております。
特にアプリ開発はそうで、数ある実機で実際に試すわけにもいかず、テストは自動的に行わないと、死んでしまいます。
「いざ アサートせよ 緑色の光あれ 我等 Javaの騎士」
っていう帯がついていて、中二っぽい感じにかなり好感を感じました( ・∀・)
この本は、テストをいかにうまく書くか、それはつまり、元のプログラムをいかにうまく書くか、ということをかなり具体的に例を挙げて書いてくれているので、勉強になりました。
一つの課題がリファクタリングですね。
プログラムを修正するに伴い、テストも修正しなければいけません…。
これが苦痛であるのはもうどうしようもないかと思います。
実のところ、ユニットテストを入れると、仕様変更に対する痛みが倍増すると思います。
いくら、
「ユニットテストが必要だ!!いいものだ!」
と言われても、それは玄米が体にいいから食べよう!と言われても、やっぱり白米がいいよー オロローン というのと同じ感覚です。
とはいえ、もちろん仕様も変更し、ユニットテストも変更するんですけどね。