レガシーコード改善ガイド

第7章:いつまで経っても変更作業が終わりません

はじめにソースコードの変更には時間がかかる。 理解しにくいゴチャゴチャした構成になっている。 「遅延時間」によりフィードバックを得るのに時間がかかる。 依存関係を排除してビルドの時間を短くし、フィードバックを早く得るための手法の紹介。 (依存…

第6章:時間が無いのに変更しなければなりません

はじめに時間がない中、機能追加を行う際にはどうしたらいいかについての説明。 既存のクラスをテストで保護せずに変更を行うテクニックの紹介。このテクニックを使うと、明確な新しい責務と古い責務を分離できる。 既存のクラスをテストで保護する時間を取…

第5章:ツール

はじめにリファクタリングツールの利用による自動リファクタリングの利点と考慮しないといけない点についての説明。 そして、自動リファクタリングをする際は、それによる既存の振る舞いが変わってしまわないことの確認が必要であることの説明がされている。…

第4章:接合モデル

はじめに単体テストのために行わなければいけないこととしてたくさんの依存関係の排除が挙げられる。 いかにして、クラス間の依存関係が排除されている状態を作り出すか、そのための方法のヒントが書かれている。書籍では以下の例を挙げて説明されている。■…

第3章:検出と分離

はじめに実際は複数のオブジェクトが依存し合っているので、「ある特定のクラスのテスト」をやりにくい。 結局、システムのほとんど全体をテストハーネスに含めることになってしまう。クラスをテストハーネスに入れるために、依存関係を排除する必要がある。…