Es fängt ganz harmlos an: Ein gut lesbarer Algorithmus, der einen Geschäftsablauf klar modelliert. Keine unnötigen Abhängigkeiten, einfach testbar. Doch dann kommt die Erweiterung in "Production Code": Parametervalidierung, Logging, Asynchrone Aufrufe, Fehlerbehandlung und und und...
Die eben noch lesbare, klare Codeaussage ist vermischt mit einem Vielfachen an technisch unvermeidlichen Nebensächlichkeiten. Die Codewartung wird problematisch, Testbarkeit wird schwer ohne Mocking-Orgien. Wenn es nur eine Möglichkeit gäbe das zu vermeiden… Moment mal – Die gibt es!
Der Vortrag zeigt fortgeschrittene funktionale Techniken, die das Vermischen verschiedener Themen im Code verhindert. Beispiele in F# und C#.