新規に開発するプログラムもテストがなければレガシーシステムである

テストのないレガシーコードにテストを作ることによって、そのシステムの理解が深まったり、動作を記述することによって、変更の影響が即座にわかったりする。変更の影響がわかれば、大胆に実装を変更したりすることが容易にできるようになり、開発の俊敏性が高まる。それが安心であり、心の平静が保てる。 テストがないシステムはレガシーシステムであるが、それをモダンにする第一歩はテストを書くことである。

編集して祈るが、業界標準になっている。注意深く作業をするのだけど、その編集によってシステムに不具合が発生しているかどうかよくわからない。そこでトラブルが発生しないように祈る。不安感に苛まれている。夜も眠れないメソッドである。 一方、保護して変更するの保護というのは「テストで保護する」という意味である。機能が正しく実装されているというのを確認するためのテストではなく、変更をみつけるために行うテストである。これは従来回帰テストと呼ばれていたものである。 システムのリグレッション(デグレード)をテストが見つけてくれる。心の平静が保てる。夜はぐっすり眠れる。安心である。心のセーフティーネットである。 われわれは、編集して祈る方式から保護して変更する方式に移行したいと強く誓い合った。(同士よ)

上記のエントリに心打たれてポチりました。テストコードがあるとライブラリをアップデートしたり、この変数を初期化しているの意味なくねって事で消すと即座にテストコードがエラーになって教えてくれたりするときはあぁ〜テストコード書いてて良かったって思いますよね。それでも私は若干さぼってしまう・・・そんな私を強制すべく久しぶりにテスト系の書籍を購入なり。

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)


ついでにこれもポチりましたw 久しぶりにゲーム買った。こっちの方が楽しみだったりしてw

ドラゴンクエストモンスターズ ジョーカー2

ドラゴンクエストモンスターズ ジョーカー2