引数にオブジェクトを渡すか、個別に渡すか

メソッドを作成するときに、引数の数が増えてくるとどう対応したものかよく迷う。
と思ったらコードコンプリートに答えが書いてあった。

「第二部 7.5 ルーチンの引数の使用」あたりでの僕の理解。

  • 2つの意見がある

    • 個別に渡して結びつきを最小限に抑える
    • オブジェクトを渡して柔軟性を持たせ、インターフェイスを安定させる
  • どちらも短絡的

  • ルーチンの抽象化概念がオブジェクトを使って何かをすることであればオブジェクトを渡すべき

  • たまたま同じオブジェクトが提供するということであれば、個別に渡すべき

つまり引数の数がたとえ少なくても、その抽象化概念がオブジェクトに対するものなら、引数はオブジェクトであるべきってことなのね。
うん、しっくりくる(実践は難しそうだけど)。

短絡的な2つでいつも悩んでた。。