Wie vermeide ich Programmierfehler?

 

Access Violations und ähnliche Fehlermeldungen sind unschön, besonders dann, wenn sie in den eigenen Programmen auftreten. Ebenso kann man sich das Erweitern seines Programms unnötig selbst verbauen. Dabei gibt es einiges an Handwerkszeug, das von findigen Programmieren zusammengestellt wurde, die einem das Leben leichter machen können. Es ist möglich, solche Fehler zu 80 bis 90% (!) allein durch die Aneignung bestimmter Programmiertechniken von vornherein zu vermeiden!

Die meisten Fehlerquellen sind systematischer Natur und wiederkehrend. Programmierer haben diese Probleme zusammengetragen und sie in Anlehnung an die Design Patterns Antipattern genannt. Dabei handelt es sich um Kollektionen häufig anzutreffender programmiertechnischer Mängel. Beim Durcharbeiten der klassischen Antipattern bekommt man schon ein recht gutes Gefühl, worauf man bei der eigenen Programmierung achten könnte, um Probleme a priori zu vermeiden.

Mit untenstehenden Literaturhinweisen und Links mit unterschiedlichem Kontext wird versucht, dem Programmierer weitere wichtige Werkzeuge in die Hand zu geben, um nicht nur einigermaßen funktionierende, sondern sogar richtig gute Software zu erstellen.

Literatur & Links

 

•  Kernighan/Pike: Programmierpraxis (Addison-Wesley, 2000) -
Gibt sehr viele Hinweise zur Vermeidung logischer Programmierfehler und zum "guten Stil".

•  Scott Myers: Effective C++ und More Effective C++ - Für C++ wärmstens zu empfehlen

•  Clean Code developer: stellt sehr nützliche Sammlung von Vorgehensweisen für effizientes Programmieren vor; in mehrere Grade gegliedert

•  C++ portability guide - Eine Zusammenstellung von Richtlinien für C++ mit der Intention der Portierung auf möglichst viele Maschinen

•  C++ language coding guidelines - Richtlinien für C++ mit Schwerpunkt auf Lesbarkeit

•  Tips for maintainable Java code - Richtlinien für Java unter Design-Gesichtspunkten mit einigen hintergründigen Kommentaren

•  Code conventions for the Java programming language - Enthält allgemeine Codierkonventionen für Java

 

[zurück...]