FunicularSwitch - 'Railway oriented' Programmierung (in C#)

Wer kennt das nicht: Beim Programmieren sind wir immer mindestens „zweigleisig“ unterwegs. Zum einen ist da der „happy path“, unser eigentlicher use case, den wir mit dem aktuellen Stück Code gerade verwirklichen.

Das ist der Pfad, der genommen wird, wenn die Eingaben passen, die Infrastruktur mitspielt und alle Vorbedingungen im System so sind, wie wir annehmen.

· 1 Min Lesezeit

Das „Wenn“ im Vorsatz macht klar, dass die dunkle Seite leider nahezu immer existiert: Die Fehlerpfade, auf die man immer dann gerät, wenn mindestens eine der Annahmen nicht erfüllt ist.

„Railway oriented programming“ ist ein Ansatz aus der funktionalen Programmierung, um die dunkle Seite in den Griff zu bekommen.

Unter der Federführung von Alexander Wiedemann haben wir eine Bibliothek erstellt, um diesen Ansatz im Objektorientierten C# zu ermöglichen.

Der gesamte Code ist auf Github erhältlich. Aus Erfahrung können wir berichten, dass der Ansatz sehr viral ist. Alle die es verstanden haben, wollen es nie wieder weggeben und verwenden es ununterbrochen im Code.

Die Dokumentation funktioniert übrigens wunderbar mit dotnet try.

PullRequest herzlich willkommen. Viel Spaß.