-
Optionale Parameter
Autor: t_e_e_k 13.04.11 - 12:36
Sind zwar manchmal eine nette Sache, meistens aber ein pain in the aaaa....btw: die hat c# vor kurzem erst aus vb.net übernommen, welche diese aus vb6 und älter übernommen hat...
-
Re: Optionale Parameter
Autor: QDOS 13.04.11 - 20:43
stimmt mir sind auch X überladungen lieber, auch wenn die dann nur delegieren an die version mit allen Paramtern… </ironie>
-
Re: Optionale Parameter
Autor: bstea 13.04.11 - 21:07
Ich verabscheue Funktionen, wozu braucht man diesen neumodischen Schnickschnack? Es gibt doch schließlich noch Bedingungen und Sprünge. </>
-
Re: Optionale Parameter
Autor: gorsch 14.04.11 - 02:45
Also "aus VB übernommen" kann man ja wohl nicht vorwerfen, gibt's ja auch in vielen anderen Sprachen.
Optionale Parameter sind genauso wie Überladung an sich schöne Fehlerquellen.
>stimmt mir sind auch X überladungen lieber, auch wenn die dann nur delegieren an die version mit allen Paramtern… </ironie>
In diesem Fall empfiehlt sich das Builder Pattern. -
Re: Optionale Parameter
Autor: QDOS 14.04.11 - 08:06
ohja nochmehr unnötigen Code schreiben, da was in der Sprache nicht unterstützt wird - the Java way of programming: unneeded boiler…
-
Re: Optionale Parameter
Autor: gorsch 14.04.11 - 11:23
>ohja nochmehr unnötigen Code schreiben, da was in der Sprache nicht unterstützt wird
GOTO wird ja auch auch nicht von jeder Sprache unterstützt, obwohl das in manchen Situationen "boilerplate" erzeugt.
Ist das Builderpattern aber wirklich boiler?
Es benötigt im einfachen Fall nur einen einzelnen Standard-Konstruktor mit sämtlichen Defaultwerten, wobei alle Setter (die man ja sowieso braucht, und die auch generiert werden können) this statt void zurückliefern.
MyType myVar = new MyType().setSomeString("foo").setThatNumber(23);
Das ganze hat dann auch noch den Vorteil dass die Argumentenreihenfolge irrelevant ist und die Lesbarkeit verbessert wird.
Viele Programmiersprachen unterstützen dann auch nur defaults für die letzen Argumente bzw "named arguments" die dem Builderpattern in Verbosität noch näher kommen. -
Re: Optionale Parameter
Autor: QDOS 14.04.11 - 20:05
gorsch schrieb:
--------------------------------------------------------------------------------
> GOTO wird ja auch auch nicht von jeder Sprache unterstützt, obwohl das in
> manchen Situationen "boilerplate" erzeugt.
GOTO ist richtig eingesetzt kein Problem :)
> Ist das Builderpattern aber wirklich boiler?
Toll dass nennst du also nicht Boiler, wenn man nen Standardkonstruktor hat und dann alles über Setter regelt? Wie machst du das dann bei Methoden mit optionalen Parametern (denn hier gings na nicht mal expilizit um Konstruktoren…)? Von dem Setter-Blödsinn von Java fangen wir jetzt lieber nicht mal an…
> Viele Programmiersprachen unterstützen dann auch nur defaults für die
> letzen Argumente bzw "named arguments" die dem Builderpattern in Verbosität
> noch näher kommen.
Die letzten Argumente sind ja eben die optionalen und es macht ja auch Sinn, dass das Optionale nach dem Obligaten kommt… Und es geht hier nicht nur um Konstruktoren… -
Re: Optionale Parameter
Autor: elgooG 16.04.11 - 21:19
QDOS schrieb:
--------------------------------------------------------------------------------
>Von dem Setter-Blödsinn von Java fangen wir jetzt lieber
> nicht mal an…
Dieses Getter- / Setter-Thema sollte wirklich mal vom Tisch. Unter C# lässt sich das in einer kurzen Zeile schreiben und ich muss nicht einmal ein privates Feld dafür definieren. Unter Java muss die IDE schon x Zeilen generieren, weil der Programmierer sonst den ganzen Tag über nichts anderes machen würde. ;D -
Re: Optionale Parameter
Autor: Tapsi 29.04.11 - 12:45
Denke ich auch, die Sprache Java könnte mal ein gutes Property-Konzept vertragen ^^