Auf Thema antworten

Erst einmal sorry, bin auf Absenden gekommen, als ich alles löschen wollte um neu anzusetzen ....


Zu Extension Function: Diese sind so nicht in Java erstellbar. Da bleibt nur der Weg über statische Methoden, wie man an den ganzen Util-Klassen erkennen kann.


Hier ist aber einfach das Problem. dass hier die Eindeutigkeit nicht gewährleistet ist. Daher ist bei .Net von Microsoft eine Art Vorgabe / Best Practice, dass diese nicht in Libraries verwendet werden sollen. Von so lustigen Ungereimtheiten wie keine NPE bei Aufrufen auf null mal ganz zu schweigen.


Operatoren überladen - so toll wie das auf den erste Blick erscheint: Das ist schnell nicht mehr zu überblicken. Was ist "abc" / "b"? Und "abc" % "c"? Das kann auch recht verwirren. Es gibt Fälle, wo man sich sowas wünschen würde (z.B. BigInteger) weil ein Datentyp vom Verhalten her da durchaus klar ist, aber das sind in der Regel ja doch eher die Ausnahmen.


Lokale Funktionen sind aus meiner Sicht schlicht sinnlos. Das ist ein Zeichen, dass da jemand den Bedarf hat, etwas zu strukturieren und zu kapseln aber keine neue Klasse erstellen will. Wir wollen im clean Code ja Methoden klein und übersichtlich halten. Aber dann machen wir es so groß, dass wir Funktionen in Funktionen haben wollen. Und das wird dann noch als "Clean Code" verkauft weil das tolle Kapselung sein soll? Also irgendwie kann ich dem nicht wirklich folgen.


Das sind also so Entwicklungen, die ich nicht brauche und die auch eher zu Problemen führen können...



Oben