CATEGORY: PROGRAMMING

引数のリレー

引数のリレーの例を見る。

def read_sales(file_path)
  # 長い処理
end

def make_report(customer_id, file_path)
  sales = read_sales(file_path)
  # 集計
end

make_report(1001, "sales.csv")

file_pathがmake_report→read_salesと渡されている。 責務の移譲のため、そこまで変じゃない。さらに複雑になる場合や、引数を渡すだけになる場合は、デザインを変える。今回でも、read_salesを呼ぶ回数が多く、IOの回数が増える場合は、事前に読み込んでおき、その内容を引数に渡すのが理想的である。