技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

問い合わせによる一時変数の置き換え【リファクタリング】

状況

  • 式の結果を保持するために一時変数を使用している
var a = b * c
if (a > 100){
    ......
}


対処

  • 一時変数を問い合わせメソッドに置き換える


メリット

  • 処理をメソッドとしてまとめることで、他のメソッドから利用できる

  • 呼び出し元の記述が簡潔になる


手順

  • 一度だけ代入される一時変数を探す

  • 上記変数を定数化する

  • コンパイルして一度しか代入されないことを確認する

  • 代入の右辺をメソッド化する

    • 最初はメソッドをprivateにする。他に用途が生まれた際にアクセス制限を緩める
    • どのオブジェクトも変更しないことを確認する。変更する場合、「問い合わせと更新の分離」を適用する
  • コンパイルしてテストする

  • 「一時変数のインライン化」を適用する


楽天ブックス: リファクタリング新装版 - 既存のコードを安全に改善する - マーチン・ファウラー - 9784274050190 : 本