同じ結果をもたらす2つの例があります。
ブロック付き:
def self.do_something(object_id)
self.with_params(object_id) do |params|
some_stuff(params)
end
end
def self.with_params(object_id, &block)
find_object_by_id
calculate_params_hash
block.call(params_hash)
end
と方法で:
def self.do_something(object_id)
some_stuff(self.get_params(object_id))
end
def self.get_params(object_id)
find_object_by_id
calculate_params_hash
params_hash
end
2番目の解決策はより簡単に思えますが、アプリケーションコードで最初の解決策のいくつかの使用法を見つけました。私の質問は次のとおりです。どのような状況で最初のものが推奨されますか?それぞれの長所と短所は何ですか?