Working Effectively With Legacy Code

読み進めるのが遅くて最初の方しか読んでいないけど、この本はテスト駆動開発を冒頭から勧めている。作者のMichael C. FeathersはCppUnitとかを作った人で本の中でCppUnitLiteの紹介もしてた。昔CppUnitを見た時はなんか使いにくいな〜と思って使わなかったんだけど、Lite版は使ってみようかと思う。
http://www.objectmentor.com/resources/bin/CppUnitLite.zip

テストは確かに大事なんだけれど、何で大事かというとテストをしないとバグが残ってしまうからだと思う。なぜバグが入ってしまうかというと想定外の動作をする実装だったり、未実装のままにしてたり、とかが原因じゃないだろうか。しかし人間テストみたいな単調な事をするのは誰しも苦痛なので、テストの自動化をしましょう、っていうのは確かに納得出来る。でもテストコードを書くのが面倒くさいだろうなぁ。過去の遺産は自動テストの事を考慮した記述がされていないけれども、何とか手を入れていくやり方がこの本には書かれている感じだ。

テストって必ずしも自動化できるものばかりでは無いと考えている。ただ、テストの自動化をする、しないはともかく、テストしないとバグは残る。じゃあ何をテストすれば良いのか?そこは様々なのでノウハウだと思う。

      • -