引数にオブジェクトを渡すか、個別に渡すか
メソッドを作成するときに、引数の数が増えてくるとどう対応したものかよく迷う。
と思ったらコードコンプリートに答えが書いてあった。
「第二部 7.5 ルーチンの引数の使用」あたりでの僕の理解。
2つの意見がある
- 個別に渡して結びつきを最小限に抑える
- オブジェクトを渡して柔軟性を持たせ、インターフェイスを安定させる
どちらも短絡的
- ルーチンのインターフェイスが表す抽象概念とは何かが最も重要
ルーチンの抽象化概念がオブジェクトを使って何かをすることであればオブジェクトを渡すべき
- たまたま同じオブジェクトが提供するということであれば、個別に渡すべき
つまり引数の数がたとえ少なくても、その抽象化概念がオブジェクトに対するものなら、引数はオブジェクトであるべきってことなのね。
うん、しっくりくる(実践は難しそうだけど)。
短絡的な2つでいつも悩んでた。。
【電子合本版】Code Complete 第2版 完全なプログラミングを目指して
- 作者: Steve McConnell
- 出版社/メーカー: 日経BP社
- 発売日: 2016/04/14
- メディア: Kindle版
- この商品を含むブログ (1件) を見る