Angenommen, ich habe ein Objekt Auto, mit fünf Parametern, {Zahlen, Farbe, Kilometerstand, Pferdestärken, maxSpeed}. Ich habe eine Methode, die 3 dieser Werte benötigt. Welche der beiden Optionen gilt als Best Practice? Ist es besser, umschließendes Objekt zu übergeben und die Anzahl der Parameter zu reduzieren, ODER einfach nur minimale Daten an eine Methode zu übergeben (zB: bei Methode 2 wird auf Zahlen und Farbe nicht zugegriffen)?Ist es gut, minimale Parameter zu übergeben?
Option 1 Pass ganzes Objekt:
void compute(Car c, Person p) { return c.mileage + c.horsepower + c.maxSpeed + p.age; }
Option 2: gerade in den Verfahren Werte zu.
void compute(int mileage, int horsepower, int maxSpeed, int age) { return mileage + horsepower + maxSpeed + age.; }
Hinweis: davon ausgehen, aus irgendeinem Grund, berechnen kann nicht ein Teil der Car-Klasse sein. Bitte antworten Sie mit dieser Annahme.
Es ist wahrscheinlich Geschmack, der entscheidet.Die folgende Konvention hilft immer, also würde ich sagen, dass das Gehen mit weniger Argumenten üblicher ist, mehr Sinn ergibt und am wichtigsten ist flexibler (das Ändern der Felder in der "Car" -Klasse ändert nicht die Methodensignatur) – Dragan