Mehrere Parameter als dict() übergeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Hallo

Bei einem Programmierprojekt habe ich einige Variablen (ungefähr 15), die jeweils an mehrere Methoden übergeben werden müssen. Ich habe nun die Idee, die Variablen in ein `dict()` zu verschieben und jeweils nur das `dict()` zu übergeben. Der Zugriff auf die einzelnen Variablenwerte würde dann über den Key erfolgen.

Was haltet ihr davon?

Gruß
Atalanttore
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Ein konkretes Beispiel mit dem Code wäre wesentlich hilfreicher. Ich würde per se kein dict einfach an alle Methoden übergeben, sondern den Methoden über Parameter nur das liefern, was sie tatsächlich benötigen. In dem Kontext ist es schwierig eine Antwort zu geben, wenn du von Methoden sprichst muss es sich um eine Klasse handeln, wenn du diese Klasse definiert hast kann man auch überlegen alle Variablen als Attribute an die Klasse zu übergeben.

Das ist aber alles nur "angenommen".
When we say computer, we mean the electronic computer.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Gehören die Methoden denn alle zur gleichen Klasse? Falls ja, dann könntest du das dict() direkt an die Klasse binden und müsstest es nicht mehr explizit übergeben.
Benutzeravatar
__blackjack__
User
Beiträge: 13099
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Die Frage ist IMHO zu vage um sie sinnvoll beantworten zu können. 15 Argumente sind recht viel. Die in ein Wörterbuch zu stecken ist erst einmal ja nur Kosmetik, macht die Aufrufe aber auch undurchsichtiger weil man an der Methodensignatur dann nicht mehr erkennt was da eigentlich alles übergeben wird. Vielleicht macht es mehr Sinn Argumente zu Objekten zusammenzufassen. Aber halt nicht einfach alle 15 in eins, sondern man müsste schauen was da Sinn macht. Das gilt auch für das binden von den Werten an das Objekt auf dem die Methode(n) aufgerufen werden. Der Vorschlag das einfach alles an das Objekt zu binden macht aus OOP-Sicht nur Sinn wenn das tatsächlich Zustand dieses Objekts darstellt, und nicht einfach nur weil's einfacher ist oder scheint.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Danke für die Erklärungen. Das Projekt habe ich bisher nur durchgedacht und noch keinen Code produziert.

Gruß
Atalanttore
Antworten