パンくず
リファクタリング-プログラマーの体質改善テクニック
メソッドの構成
メソッドのインライン化:Inline Method
内容
適用ケース要約
メソッドの本体が名前と同じくらいわかりやすい
適用詳細
過剰な間接化が行われた際に、メソッドとして抽出しなくても
その処理自体で意味が取れるものがある場合にメソッドのインライン化を行います。
また、その全段階としてメソッドの抽出基準を明確にするために
あえて各処理をインライン化して、そこから再抽出する際にも利用されます。
サンプル
メッセージを表示するだけの機能を想定します。
サンプルコード
※便宜上変更前と変更後でメソッド名が変わってますが本来は同じです。
サンプルコードはRubyで実装してあります
▼リファクタリング前
def inline_method_before(message) puts_message message end private def puts_message(message) puts message end inline_method_before "hoge"
▼リファクタリング後
# encoding: Shift_JIS def inline_method_before(message) puts message end inline_method_before "hoge"
▼出力結果(共通)
hoge