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