>>161
make_data()って名前で何も作成しないのはちょっと勘弁

まあfind_hoge()としてhogeに変更を加えてrepository.update(hoge)する場合なら
updateにnullやempty的なものは渡さないので(2)が一番まとも
関数の役割分担や責任範囲をどう考えるか次第なのでケースバイケース

(1)や(4)のようにレシーバーも指定せずに暗黙的に共通リソースを変更するのはあまり良くない