10 Fehler, die jedem Programmierer unterlaufen - JAXenter

10 Fehler, die jedem Programmierer unterlaufen

Hartmut Schlosser

Entwickler machen Fehler – doch ist es nicht auffällig, dass bestimmte Fehlertypen mit großer Regelmäßigkeit immer wieder auftreten? Julian M. Bucknall hat in seinem Artikel „10 mistakes every programmer makes“ seine Top Ten der häufigsten Programmierfehler aufgelistet. Ein kurzes Resümee seiner Findungen:

  • Fehler 1: Entwickler schreiben für den Compiler, nicht für den Menschen

    Ein Fehler ist es, sich nicht die Zeit zu nehmen, menschenlesbaren Code zu schreiben. „Optimierungen“ für den Compiler, etwa kurze Variablennamen i,j,k statt sprechende Namen oder verkürzte mathematische Ausdrücke ohne Klammern, bringen in den seltensten Fällen Performanz-Gewinne. Viel häufiger der Fall ist es, dass ein nachfolgender Entwickler den Code dadurch nicht mehr versteht.

  • Fehler 2: Entwickler schreiben zu lange Routinen

    Lange Methoden sind schwer zu verstehen, schwer zu pflegen, schwer zu testen. Kurze, übersichtliche Einheiten, die man auf den ersten Blick erfasst, sind produktiver.

  • Fehler 3: Entwickler „optimieren“ ihren Code zu früh

    Entwickler tendieren dazu, nach dem Schreiben einer funktionierenden Methode nach Möglichkeiten der Optimierungen des Codes zu suchen. Der „bessere“ Code ist dann oft kürzer und schwerer zu lesen – relevante Performance-Gewinne bringt er in den seltensten Fällen. Besser: Klaren und menschenlesbaren Code produzieren und zu einem späteren Zeitpunkt analysieren, wo die wirklichen Performance-Flaschenhälse liegen, und dann gezielt optimieren.

  • Fehler 4: Entwickler nutzen zu viele globale Variablen

    Zu oft werden globale Variablen eingesetzt. Man verliert dabei leicht die Kontrolle darüber, ob der Wert der Variablen nicht durch einen Methoden-Aufruf versehentlich verändert wird. Ähnliches tritt bei Singletons auf – der globalen Variable in neuem Gewand. Besonders problematisch ist das Testen von Singletons.

  • Fehler 5: Entwickler nehmen keine Aufwands- und Technologie-Einschätzungen vor

    Wer keine Aufwandsschätzungen vornimmt und einfach drauflos programmiert, sieht sich nur allzu schnell mit Performance- und Skalierungs-Problemen konfrontiert. Oder: Das Programm läuft super schnell auf dem eigenen 3GHz PC – auf allen anderen Computern quält es sich lahm von einem Kilck zum nächsten.

  • Fehler 6: Entwickler liegen in Schleifen immer eins daneben

    Einer der häufigsten Fehler: Eine Schleife wird einmal zu viel oder einmal zu wenig durchlaufen. Beginnt ein Objekt nun bei 0 oder bei 1? Wieviele Elemente hat die Liste nochmal?

  • Fehler 7: Entwickler ignorieren ihre Exceptions

    Oft werden zu allgemeine Exception-Typen abgefangen, auf die dann eine allgemein gültige Aktion ausgeführt wird. Am schlimmsten ist das Abfangen aller auftretenden Fehler, da es verhindert, dass wichtige nicht von unwichtigen Exceptions unterschieden werden können. Exception-Catching sollte so spezifisch wie möglich sein, damit angemessen auf Fehler reagiert werden kann.

  • Fehler 8: Entwickler speichern sensible Daten in Textdokumenten

    Allzu oft werden sensible Passwörter oder Log-ins irgendwo in einem Text-Dokument oder einem Quellcode-Kommentar gespeichert. Auch sollte man von Webseiten Abstand nehmen, die vergessene Log-in-Daten per E-Mail zurücksenden.

  • Fehler 9: Entwickler validieren den User-Input nicht

    Wer den Text-Input von Anwendern nicht überprüft, wird sich schnell mit Hacker-Angriffen konfrontiert sehen.

  • Fehler 10: Entwickler halten sich nicht auf dem Laufenden

    Die oben genannten Fehler sind seit Jahren bekannt – deshalb besteht der größte Fehler darin, sich nicht auf dem Laufenden zu halten. Wer sich nicht über die neuesten Programmier-Techniken und Technologien informiert, kommt nicht weiter und macht immer dieselben Fehler.

Irren ist menschlich – und deshalb endet Bucknalls Liste mit der klugen Aufforderung:

Make sure you stay up to date with the art and practice of programming. Julian M Bucknall

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.