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

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

このメソッドをテストハーネスで動かすことができません 隠れたメソッド privateなメソッドをテストしたい場合の対処方法。 ・publicなメソッドにしてしまう。*1 ・そのメソッドの責務を別クラスに分離する。 ・テストクラスからそのメソッドを呼び出せるよ…

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

このクラスをテストハーネスに入れることができません いらただしいパラメータ 本番コードでは、それ以外に手段がない場合を除き、パラメーターにnullを渡すのはやめる。 nullを渡せるような実装だと、処理の至る所でパラメーターチェック処理が行われている…

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

いつまで経っても変更作業が終わりません 遅延時間 外部ライブラリなどの依存性がひどいシステムのコードは、ビルドする度に未変更箇所すべてもビルドしなおす必要がある。 その間ぼーっと待つことになる。(遅延時間) 改善済コードだとビルド~テスト実行の…

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

レガシーコードを改善する前に 遠回りな対応方法としてレビュー時に文句を言われると思う。 そこだけ変えても、そこ以外の糞コードはそのままだぞ。意味ないのでは? 動くようになっている箇所の構成を帰るのはいかがなものか? しかし、「これを続けていけ…

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

レガシーコードの定義 "テストの無いコード"すべてをレガシーコードと呼ぶ。 フィードバックを得ながらの作業 システム変更の方法は大きく二種類に分けることができる。 1,編集して祈る → レガシーコード 2,保護して編集する → テストで保護されたコード 単…