状況
- 式の結果を保持するために一時変数を使用している
var a = b * c
if (a > 100){
......
}
対処
- 一時変数を問い合わせメソッドに置き換える
メリット
処理をメソッドとしてまとめることで、他のメソッドから利用できる
呼び出し元の記述が簡潔になる
手順
一度だけ代入される一時変数を探す
上記変数を定数化する
コンパイルして一度しか代入されないことを確認する
代入の右辺をメソッド化する
- 最初はメソッドをprivateにする。他に用途が生まれた際にアクセス制限を緩める
- どのオブジェクトも変更しないことを確認する。変更する場合、「問い合わせと更新の分離」を適用する
コンパイルしてテストする
「一時変数のインライン化」を適用する
楽天ブックス: リファクタリング新装版 - 既存のコードを安全に改善する - マーチン・ファウラー - 9784274050190 : 本