Validierung mit Splits und Joins
Auch komplexere Verzweigungen lassen sich mit Splits und Joins auf Datenflussebene mit einem Flow Design-Diagramm lösen. Hier wird dies anhand der Weiterentwicklung einer vorherigen Lösung gezeigt.
Auch komplexere Verzweigungen lassen sich mit Splits und Joins auf Datenflussebene mit einem Flow Design-Diagramm lösen. Hier wird dies anhand der Weiterentwicklung einer vorherigen Lösung gezeigt.
Die Trennung zwischen Integration und Operation ist auch bei Verzweigungen möglich. Dies soll anhand eines einfachen algorithmischen Problems mit abzweigenden Datenflüssen gezeigt werden.
Das semantische Modell von Roslyn hilft die einzelnen Symbole des Codes zu verstehen.
Kontrollstrukturen ermöglichen im Code eine Verzweigung. Verzweigungen steigern die Komplexität von Software. Ziel ist es trotz komplexer Anforderungen, ein einfaches System zu realisieren.
Algorithmen lassen sich oft mit einer Rekursion lösen. Mithilfe von yield und Flow Design kann diese Rekursion in mehrere unabhängige Methoden zerlegt werden.
Mit Hilfe von Roslyn lässt sich sehr einfach der Code analysieren. In diesem Beispiel werden alle Methoden ermittelt, die eine Exception schmeißen.
Das EVA-Prinzip, bestehend aus Eingabe, Verarbeitung und Ausgabe, beschreibt ein grundlegendes Prinzip für Informationssysteme. Dies kommt selbst bei komplexen Suchen wie der 42 zum Einsatz.
Wer sich vor dem Kodieren Gedanken zum Aufbau der zu entwickelnden Software macht, der erzeugt eine deutlich höhere Softwarequalität. Dies gilt nicht nur bei der Entwicklung digitaler Produkte, sondern generell.
Die .NET Compiler Platform ermöglicht es, C#-Code programmatisch zu lesen und auch zu generieren. Dadurch ist es nicht nur möglich Code besser zu analysieren, sondern auch dynamisch zur Laufzeit neuen Code zu erzeugen.
Testgetriebene Softwareentwicklung kann helfen saubereren Code zu erstellen. Hier ein C#-Lösung zur bekannten Kata „Roman Numerals“ (römische Zahlen konvertieren). Natürlich legen wir auch großes Augenmerk auf automatische Tests bei der Softwareentwicklung der digitalen Produkte unserer Kunden.