Quantcast
Channel: Stefan Macke, Autor bei IT-Berufe-Podcast
Viewing all articles
Browse latest Browse all 452

Ich bin ein Puts-Debuggerer

$
0
0

Mein Link der Woche ist dieses Mal ein Artikel von Aaron Patterson: I am a puts debuggerer. Der Autor beschreibt darin, wie er seine Software debuggt (ja, das schreibt man so 😉 ). Er verwendet keinen Debugger, sondern nutzt einfach die Konsolenausgabe für die Fehlersuche in seinen Programmen (puts in Ruby, daher der Name des Artikels).

Der Vorteil des puts-Debuggens zur Fehleranalyse ist, dass man keine aufwendige Entwicklungsumgebung dafür benötigt. Kommandozeilenausgaben kann man auch mit simplen Editoren in den Code einbauen. Aaron zeigt in seinem Artikel die Erfahrungen, die er in den letzten Jahren mit seiner Methode gemacht hat. Ich selbst konnte noch ein paar interessante Tricks aus dem Artikel mitnehmen. Auch wenn die Programmiersprache Ruby ist, sind die gezeigten Prinzipien auch auf jede andere Programmiersprache übertragbar. Witzig fand ich zum Beispiel den letzten Tipp, in dessen Konsolenausgabe ich mich selbst wiedergefunden habe. Die vielen Hashes (#), um die Debugausgaben schneller finden zu können, erinnern mich stark an meine eigene Fehlersuche. 😀

Ich selbst habe auch schon seit Jahren keinen Debugger mehr verwendet. In Zeiten von testgetriebener Softwareentwicklung ist das meiner Meinung nach auch völlig überflüssig, da mir die Tests zeigen, wenn es einen Fehler in der Software gibt. Und wenn ich mehr über den Zustand des Programms zur Ausführung wissen möchte, verwende ich genau wie Aaron die Konsolenausgabe, um mir Werte von Variablen, Schleifenzähler oder sonstige Inhalte auszugeben. Meine Azubis fragen mich teilweise nach mehreren Monaten oder ganzen Ausbildungsjahren, was überhaupt ein Debugger ist und wie man ihn verwendet. Und das ist gut so!


Wie suchst du Fehler in deiner Software? Verwendest du einen Debugger oder nutzt du auch die Kommandozeile, um den Zustand deines Programms zu untersuchen?


Viewing all articles
Browse latest Browse all 452