Foren Suche

  • javaslangDatum30.10.2016 12:04
    Thema von Landei im Forum Java-Bibliotheken

    Java-Bibliothek mit immutablen Collections, Tupeln u.s.w., die sich sehr an Scala anlehnt: http://www.javaslang.io/

    Ich arbeite eine Weile damit, und bin ein echter Fan davon geworden.

  • Für mich ist der größte Vorteil, dass Companion-Objekte einen Typ haben. Sie können Traits implementieren oder andere Klassen erweitern, sie können als Argument an eine Methode oder einen Konstruktor übergeben werden.

    Statische Methoden stehen etwas "außerhalb" des OO-Paradigmas. Viele Anfänger haben Probleme damit, weil die üblichen Vererbungsregeln nicht gelten, weil man nicht (z.B. über ein Interface) sicherstellen kann, dass eine statische Methode existieren muss u.s.w. Statische Methoden selbst können zwar meist gut getestet werden, aber nicht der Code, der sie verwendet - der ist eben damit "hart verdrahtet". Das kann auch mit Companion-Objekten passieren, ist dort aber wesentlich leichter zu korrigieren, wenn es zum Problem wird.

  • Eine mögliche Exception ist erst einmal ein Seiteneffekt einer Methode, diese ist dann nicht mehr referentiell transparent (a.k.a. "pur"). Z.B. darf es keine Rolle spielen, welche von zwei referentiell transparenten Methoden zuerst ausgeführt wird, aber wenn Methoden Exceptions werfen, ist das natürlich nicht mehr gegeben, denn die erste Exception "gewinnt". Da referentiell transparente Methoden viele Vorteile bieten, die man im funktionalen Umfeld zu schätzen weiß (lazy evaluation, memoization u.s.w.), sollte man sich gut überlegen, ob man mit Exception arbeiten will, zumal der Mechanismus zum Catchen von Exceptionein ein nicht-lokaler Kontrollfluss (oder böse gesagt, eine leicht limitierte Form von "goto") ist, der schwer zu kontrollieren ist.

    Try, Either, Option oder Validation sind dagegen ganz normale Werte, und nutzen das Typsystem, um den Rückgabewert exakt zu beschreiben (eben die Tatsache, dass es u.U. nicht möglich ist, selbigen zu bestimmen). Ich finde es irgendwie seltsam, dass sich das anstelle von Exceptions so schwer durchsetzt. Wenn eine Methode "mehrwertige" Rückgabewerte hat, schreit doch auch niemand nach einem speziellen Mechanismus, sondern man greift ganz automatisch zu Listen, Sets u.s.w.

    Natürlich gibt es Stellen, wo Exceptions ihre Berechtigung haben, hauptsächlich dann, wenn die Ausnahme wirklich so schwerwiegend ist, dass man nicht angemessen reagieren kann, bei Legacy-Code (und Bibliotheken, die als solcher angesehen werden können) oder wenn dann ein Programmierfehler vorliegen muss. Wenn man aber eine komplizierte Hierarchie von verschachtelten Fehlern konstruieren will, läuft definitiv etwas falsch.

  • Test SyntaxDatum27.09.2016 15:09
    Foren-Beitrag von Landei im Thema Test Syntax

    Nice!

    Vielleicht noch mit weißem Hintergrund?

    Generell finde ich den Beitragshintergrund ziemlich dunkel.

  • Ausweichen auf anderen ForenhosterDatum23.09.2016 12:52
    Foren-Beitrag von Landei im Thema Ausweichen auf anderen Forenhoster

    Einen besseren Hoster kann ich nicht vorschlagen, aber wenn hier Syntaxhighlighting nicht vorhanden ist, obwohl es seit Jahren von Nutzern gewünscht wird, ist das hier wohl generell nicht der richtige...

Inhalte des Mitglieds Landei
Beiträge: 5
Ort: Sandersdorf-Brehna
Geschlecht: männlich
Xobor Einfach ein eigenes Xobor Forum erstellen
Datenschutz