Seite 1 von 1

Mehrere Parameter als dict() übergeben

Verfasst: Sonntag 25. November 2018, 22:16
von Atalanttore
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

Re: Mehrere Parameter als dict() übergeben

Verfasst: Sonntag 25. November 2018, 22:22
von sls
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".

Re: Mehrere Parameter als dict() übergeben

Verfasst: Sonntag 25. November 2018, 22:29
von snafu
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.

Re: Mehrere Parameter als dict() übergeben

Verfasst: Sonntag 25. November 2018, 23:11
von __blackjack__
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.

Re: Mehrere Parameter als dict() übergeben

Verfasst: Dienstag 27. November 2018, 21:15
von Atalanttore
Danke für die Erklärungen. Das Projekt habe ich bisher nur durchgedacht und noch keinen Code produziert.

Gruß
Atalanttore