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