Was ist defensive Programmierung?
Defensive Programmierung ist die Erstellung von Code für Computersoftware, um problematische Probleme zu vermeiden, bevor sie auftreten, und das Produkt stabiler zu machen. Die Grundidee dieses Ansatzes besteht darin, ein Programm zu erstellen, das auch bei unvorhergesehenen Prozessen oder unerwarteten Eingaben von Benutzern ordnungsgemäß ausgeführt werden kann. Defensive Programmierung beruht oft auf einer etwas paradoxen Kombination aus der Beseitigung von unnötigem Code und der Sicherstellung, dass genügend Mengen generiert werden, um alle möglichen Benutzeraktionen zu handhaben. Umfangreiche Tests sind für diesen Prozess ebenso wichtig wie die Erstellung von Software, die einfach geprüft und überprüft werden kann.
In vielerlei Hinsicht ähnelt das Konzept der defensiven Programmierung weitgehend dem des defensiven Fahrens, da Probleme berücksichtigt werden, bevor sie auftreten. Eine gebräuchliche Methode, um dies zu versuchen, ist die Erstellung von Code, der jedes mögliche Szenario behandeln soll. Programmierer versuchen in der Regel zu bestimmen, wie Benutzer wahrscheinlich Eingaben vornehmen, oder versuchen, Software zu verwenden, die möglicherweise außerhalb der erwarteten Parameter liegt. Die Verwendung von defensiver Programmierung basiert auf dem Code selbst, der in der Lage ist, seltsame Eingaben ohne Absturz oder Auftreten eines Fehlerereignisses zu verarbeiten.
Im Gegensatz zu diesem Element der defensiven Programmierung muss gut geschriebener Code jedoch keine unnötigen Eingaben enthalten. Je mehr Codezeilen Teil eines Programms sind, desto mehr Möglichkeiten bestehen, Fehler einzuführen. Defensive Programmierpraktiken ermutigen Entwickler normalerweise, unnötigen Code zu entfernen und Programme zu optimieren, wann immer dies möglich ist. Daher muss ein ausgewogenes Verhältnis zwischen der Programmierung, die unerwartete Szenarien berücksichtigt, und Code hergestellt werden, der zu viele unnötige Inhalte enthält, ohne einen Nutzen zu bringen.
Testen ist einer der wichtigsten Aspekte der defensiven Programmierung. Trotz großer Anstrengungen, um sicherzustellen, dass der Code perfekt ist, verpassen Entwickler fast immer einen Fehler oder erstellen Code mit unerwarteten Ergebnissen. Durch gründliche Tests durch professionelle Tester kann ein Entwickler Hunderte von Stunden lang Produkte verwenden, um Fehler zu finden, bevor die Software veröffentlicht wird.
Der Code selbst, der in der defensiven Programmierung erstellt wird, ist ebenfalls ein wichtiger Aspekt dieses Prozesses. Es sollte nicht nur so weit wie möglich gestrafft, sondern auch klar und prägnant dargestellt werden. Audits werden häufig von Entwicklern verwendet, um den erstellten Code zu überprüfen. Dadurch können andere Programmierer die geleistete Arbeit sehen, und lesbarer Code ist wichtig, damit dies ein realistischer Teil der Entwicklung ist.