ルーチンはパラメータを持つことができます、それはニュースではありません。必要な数のパラメーターを定義できますが、パラメーターが多すぎると、ルーチンの理解と保守が難しくなります。
もちろん、構造化変数を回避策として使用することもできます。これらの変数をすべて1つの構造体に入れて、それをルーチンに渡します。実際、構造を使用してパラメーターリストを簡略化することは、Steve McConnellがCode Completeで説明した手法の1つです。しかし彼が言うように:
慎重なプログラマーは、論理的に必要以上にデータをバンドルすることを避けます。
したがって、ルーチンのパラメーターが多すぎる場合、または構造体を使用して大きなパラメーターリストを偽装している場合は、おそらく何かが間違っています。つまり、カップリングを緩やかに保つのではありません。
私の質問は、パラメーターリストが大きすぎると見なすことができるのはいつですか?5つを超えるパラメーターは多すぎると思います。どう思いますか?