Fehler im Code: Was tun? Debugging wie die Profis

Kennst Du das?

  1. Du erstellst eine neue App.
  2. Du denkst Du bist fertig. Du probierst sie aus.
  3. Uuuuuund 5 Fehler. "ARGH! Was jetzt?"

Egal, ob du der beste Programmierer der Welt bist oder dein Code-Abenteuer gerade erst angefangen hast, möchte ich dir eins sagen:

Jeder Programmierer macht Fehler in seinem Code.

Diese Fehler nennen wir auch Bugs (engl. für „Käfer“). Um diese Bugs/Fehler zu finden und zu beheben, muss ein Programmierer seinen Code debuggen. Wir müssen also die bösen Käfer (Bugs) finden, die unser Programm abstürzen lassen und entfernen.

Ein richtig guter Programmierer zeichnet sich dadurch aus, dass er gut mit dem Debugging umgehen kann.

Eine Regel, die du kennen solltest, lautet wie folgt:

Je länger Du einen Fehler suchst, desto größer ist die Wahrscheinlichkeit, dass es ein kleiner Fehler, wie z.B. ein fehlendes Zeichen, ist.

Das bedeutet, dass irgendwo in deinem Code ein Zeichen zu viel oder zu wenig gesetzt wurde. Ein Beispiel dafür ist ein fehlendes Semikolon am Ende eines Befehls oder ein Vertipper in einem Variablennamen.

Natürlich ist nicht jeder Fehler so einfach behoben. Aber grundsätzlich gilt, dass große Fehler leichter zu erkennen und zu beheben sind, als kleine Fehler, bei denen nur ein Zeichen fehlt.

Der Debugging-Detektiv

Das Debugging kannst Du dir wie eine große Lupe vorstellen. Du bist ein Detektiv, der mit seiner Lupe nach Spuren suchen muss. Dafür musst du aufmerksam sein und viel Liebe zum Detail haben. Die Genauigkeit zählt.

Leider kann der Computer nicht unsere Gedanken lesen. Er macht genau das, was wir ihm befehlen. Deshalb kommt es auch auf jedes noch so kleine Sonderzeichen an.

Eine einzige fehlende Klammer, kann eine ganze App zum Abstürzen bringen und dir 127 Fehler anzeigen.

Möchtest Du ein Beispiel sehen?

hintergrund('weltraum');
fiugr('raumschiff2', 400, 250, 0.8);

Das soll unsere "funktionierende App" eigentlich machen:

  1. In dieser App setzen wir den Hintergrund "weltraum".
  2. Anschließend wird die Figur "raumschiff2" mit der figur()-Funktion angezeigt

So weit ist es ein sehr einfacher Code.

Schaue dir den Code nochmal genau an und versuche den Fehler zu finden. Nimm dir ein paar Minuten Zeit.

Ich hole mir einen Code-Saft aus der Küche und sehe dich unter dem Code wieder…

Wo war der Fehler?

Das Problem ist in Zeile 2 zu finden. Dort steht fiugr anstatt figur.

Durch einen Vertipper oder das ändern eines Zeichens, kann sich die Funktionsweise deiner gesamten App verändern.

Das war anstrengend, nicht wahr? So viel Arbeit, für so einen kleinen Fehler.

Wenn wir den Vertipper ändern, funktioniert die App wieder:

hintergrund('weltraum');
figur('raumschiff2', 400, 250, 0.8);

Juhuuu durch den Bug-Fix geht die App wieder!

Ich kann dir nicht mehr sagen, wie viele Tage ich bereits mit dem Finden von solch kleiner Fehler aufgebracht habe. Und normalerweise sind die Programme wesentlich komplexer als unser kleines Beispiel.

Ein Tipp zum Finden von kleinen Fehlern

Hoffentlich hast du jetzt gelernt, dass oftmals ein kleiner Fehler das Problem ist. Aber wie finde ich diesen Fehler in meinem Code? Das ist eine gute Frage.

Meine Debugging-Lösung sieht wie folgt aus:

  1. Wenn du den Fehler nicht findest und frustriert bist, mach eine kleine Pause.
  2. Steh auf und bewege dich. Hol dir etwas zu trinken und mach ein paar Rückwärtssaltos. Danach ist dein Kopf wieder frei für die Fehlersuche.
  3. Schaue dir den Code erneut an. Gehen ihn Zeile für Zeile durch. Schaue dir jedes Zeichen an.

Es mag langweilig klingen, aber das ist der beste Weg, zum Debuggen. Wenn du diesen Tipp befolgst, kannst du die meisten Fehler in wenigen Minuten finden.

Solltest du den Fehler immer noch nicht gefunden haben, kann dir vielleicht ein Freund oder Elternteil helfen. Programmieren ist klasse, aber erfordert auch Konzentration und Genauigkeit.

Solltest du gar nicht weiterkommen schicke uns eine Email an support@codekiste.com. Wir helfen natürlich gerne weiter beim Debuggen oder geben dir einen Tipp 😉

Du hast noch gar keine Mitgliedschaft? Oh, dann finde hier heraus, welche CodeKiste am besten zu dir passt.

Daniel