-サーバ連携方法、オープンソースの使い方など様々なCurlの実際のソースコードの記述方法が集約されています。どちらがよい?引数の渡し方に関して、Curlでは位置引数と、キーワード引数の2種類ありますが、ソースの可読性を考えると、複数の引数を渡す場合には、キーワード引数のほうが優れていると思っています。キーワード自体が、その変数の意味をあらわしてくれるからです。プロシージャ)だと、プログラマは、花嫁と花婿の順番を間違えやすいと思います。順番の間違いやすさがなくなるかわりに、初期値の指定が必要になります。同じ問題は残っています。複数の引数を定義するとき、どのような実装がわかりやすいのでしょうか。よいアイディアをお持ちの方がいらっしゃれば、アドバイスください。どちらがよい?ワタスなら、こうかな・・・・。どちらがよい?引数のクラスのフィールド値などで判断できるなら、確かに、ナスBさんの方法が言うことナスですね。値や、型では判別できないものの場合はどうでしょうか。位置引数よりも、キーワード引数で、基準となる配列(standard)と、チェックする対象(target)と名前をつけたほうが、どちらがどちらを満たすのか、わかりやすいと思います。2つくらいであれば、位置引数でも、変数名の定義と、ヘルプの記述を行えば、それほど混乱することはなさそうですが、これが、3つ、4つと、同じ型で目的の異なる必須の引数が増えると、さすがに位置引数ではわかりづらい気がします。「必須の引数で、位置ではなく、可読性の高い渡し方はないか」ということです。さんのような渡し方をするのが望ましいのでしょうか。どちらがよい?nasuBさん、wbardwellさん、アドバイスありがとうございます。いまでは、私は、位置引数を利用するケースは下記の3つだと考えています。あれば、複数のオブジェクトをプログラマが意図した順番(=引数の順番)に並べます。引数の順番はプロシージャ側が勝手に決めたものです。プログラマが、誤った順番でコーディングしてしまった場合、プログラマは、プロシージャ中身をドキュメント等で読み、仕様を理解しないといけません。これは、プログラマにとって、使いづらいプロシージャです。そのため、「複数で、かつ順番にはあまり意味がない引数」を渡す場合には、どのような仕組みがよいのか、このスレッドで質問指させてもらいました。私は、皆さんがこの問題をどのように解決しているのか興味があります。したら、「複数で、かつ順番にはあまり意味がない引数」を渡さなければいけないような設計自体が間違っており、もっとよい設計やデザインパターンがあるのではないかと期待しています。今のところ、私は、「必須だが、複数で、かつ順番にはあまり意味がない引数」を渡す方法を以下の種類で考えています。nasuBさんの方法で、「順番に意味がないかわりに、引数の中に意味を持たせる」という方法です。これには、プログラマが、より多くのクラスを意識する必要がある、という小さなデメリットと、コードが非常に読みやすくなるという大きなメリットがあると思います。2は、キーワード引数の名前で、引数の意味を表すことを目的としています。指定されていなければエラーをスローします。9}}}}3は、2とよく似ています。受け渡し専用クラス(DTO)を用意し、値のチェックなどを、このクラスの中で行うことで、プロシージャ内に余計なロジックを入れずに済みます。2と3は、実行するまで、エラーになるのかどうかわからないことが問題です。良い方法や別のアイディアがあれば、アドバイスをいただけるとうれしいです。