iX 11/2023
S. 114
Praxis
Softwareentwicklung

Defensives Programmieren: robuster Code mit TypeScript

Mit defensivem Programmieren Eingabefehler, unerwartete Rückgabewerte und unkontrollierte Zustände zu vermeiden, bläht den Code auf. TypeScripts Sprachmittel kompensieren diesen Umstand und machen das Programmieren effizienter.

Von Benny Code

Defensives Programmieren ist eine Herangehensweise in der Softwareentwicklung, die den Schwerpunkt darauf legt, Eingabefehler und unkontrollierte Rückgabewerte zu berücksichtigen. Ziel ist, robusten und zuverlässigen Code zu schreiben, der auch unter unerwarteten Umständen fehlerfrei funktioniert. Häufig ist dann der Code zum Überprüfen der Eingaben umfangreicher als die eigentliche Applikationslogik. TypeScript bietet jedoch effektive Gegenmaßnahmen. Die Programmiersprache stellt spezielle Operatoren und Konzepte bereit, die das Schreiben von defensivem Code angenehmer gestalten. Der Artikel erläutert, warum allein die Typdefinitionen nicht ausreichen und welcher Möglichkeiten man sich stattdessen bedienen kann.

Eingabedaten mit Conditional Types prüfen

Obwohl TypeScript durch sein Typsystem viele Fehler frühzeitig erkennt, braucht es zusätzliche Maßnahmen, robusten Code zu schreiben. Ein zentraler Punkt hierbei ist die Überprüfung der Eingabedaten. Da TypeScript als Superset von JavaScript agiert, ist es notwendig, sich mit den Beschränkungen der JavaScript-Sprache auseinanderzusetzen und sie im eigenen Code zu beachten. In JavaScript sorgt Type Coercion dafür, dass Werte implizit von einem Datentyp in einen anderen umgewandelt werden. Bei Zahlen mit Zeichenketten überführt der +-Operator eine Zahl automatisch in eine Zeichenkette, was aus einer Addition eine Stringverkettung macht:

Kommentieren