の代わりに配列を使用するが、私は配列として関数に引数を渡すのではなく、各引数またはいくつかの欠点を渡すのいくつかの利点があるかどうかを知りたくありませんか?なぜ私はいくつかの愚かに聞こえるかもしれないが、多くのパラメータ
0
A
答えて
2
メソッドに配列を渡す場合、それは立派に見えるかもしれないが、それが何を意味するのでしょうか?確かに
通常、配列は同じもののコレクションを持つことを意味しますが、メソッドのパラメータは通常異なるものです。あなたはメソッドに物事のリストを渡すと、それらのすべてに同じ行動をしたい場合は
、それは、配列/コレクションオブジェクトのいくつかのタイプを使用するように完璧な理にかなっています。
は、あなたがそれを整然とさせると一緒にオブジェクトの多くの周りに渡すことを避けたいしかし、もし、あなたがより簡単に周りに渡すことができラッパーオブジェクトのいくつかの種類を使用するようにコードをリファクタリングを検討してください。あなたがそれらを保持するために、配列を使用して検討するように多くの引数を持っている場合はまた、それははるかに明確にあなたが関数のシグネチャを読んだときにあなたのコード;-)
0
ほとんどはそれだけではなく、単に個々の引数を渡すよりも、配列を作成し、それを渡すために多くのタイピングが必要です。
これ以外にもパラメータを分離する特別な利点はありません。
0
私はあなたがいくつかのパラメータを持っている(5つ以下(主観的に))と、引数がパラメータとして渡されていると思います。引数の数が多い場合は、配列を使用する方が15パラメータの関数/メソッドがより便利です。良いプログラミングの練習のための
4
不文律は、機能がより3-5の引数を持つべきではないということです。
通常、アレイまたはオブジェクトが論理完全データ構造を渡すために使用されます。
これは、パフォーマンス上のメリットではなく、透過的で読みやすいコードによるものだと思います。
0
パラメータリストをリファクタリングする必要があることを確認兆候です。配列はたった一つの変数、例えば$ argsです。しかし、そこには何がありますか?
0
この配列が既にある場合は、それを使用することをお勧めします。
この配列がない場合、パラメータを使用すると、array
キーワードと2つの中カッコの入力を省くことができます。
それだけです。
ケースに適したものを使用してください。
答えを補完するために、引数を渡すために配列を使用すると、IDEコードアシスト機能が壊れてしまいます。 – Furgas