パンくず
リファクタリング-プログラマーの体質改善テクニック
メソッドの構成
一時変数のインライン化
内容
リファクタリング名
一時変数のインライン化
適用ケース要約
単純な式で1度だけ代入されている一時変数があり、その一時変数が他のリファクタリングの邪魔になっている
適用内容要約
その一時変数に対するすべての参照を取り除き、式にする
適用詳細
1度だけしか代入しないような一時変数をインライン化します。
以下のような状況で使用されます。
・「問い合わせによる一時変数の置き換え」の一部として
・「メソッドの抽出」などのリファクタリングの邪魔にならないように
・単独で使用
単独で利用する場合は、メソッドの戻り値に利用される場合などです。
サンプル
メッセージに墨付き括弧をつけて出力する機能を実装します。
サンプルコード
※便宜上変更前と変更後でメソッド名が変わってますが本来は同じです。
サンプルコードはRubyで実装してあります
▼リファクタリング前
def inline_temporary_variable_before(message) strong_message = "【#{message}】" puts strong_message end inline_temporary_variable_before "hoge"
▼リファクタリング後
def inline_temporary_variable_after(message) puts "【#{message}】" end inline_temporary_variable_after "hoge"
▼出力結果(共通)
【hoge】