Home > Clan Blog > Artikel

21.02.2012 14:05 (Kommentare: 0)

Wenn Höhlenmenschen Käfer finden...

Coding

Beim Durchstöbern einiger Fachbücher über Programmieren und Softwareentwicklung wird immer mal wieder der Begriff "Caveman Debugging" erwähnt. Zusammengefasst beschreibt der Begriff eine Art der Fehleranalyse bei der man im Programm Message- oder Alertboxen verwendet um Informationen über die Software während der Laufzeit auszugeben. Hier und da erstellt man Ausgaben um herauszubekommen was das Problem sein könnte und wie man es lösen kann.

Es ist ein ganz normaler Debugging Vorgang. Um mir schnell zu helfen, verwende ich gelegentlich diese Technik. Es ist schon wichtig, einen Debugger und Tools zum Analysieren seiner Software zu haben, aber manchmal funkioniert der "oldfashion way" einfach am besten. Es kann aber auch sein, dass die Entwicklungsumgebung keinen oder einen schlechten Debugger bereit stellt und an diesen Punkt kommt man ohne diese Technik leider nicht weiter. In Büchern wie "Clean Code" & "Der Pragmatische Programmierer" weiteren Büchern oder anderen Artikeln im Netz ist mir aufgefallen, dass der Name immer etwas variieren kann.

Einige Begriffe, welche ich zum "Caveman Debugging" gefunden habe, waren:
- Printf Debugging
- Tracing
- Oldschool Debuging
- MessageBox debugging
- Classic Debugging
- Verbose Debugging

Der Begriff "Printf Debugging" würde hier aber schon rausfallen, weil er sich nur an C und ähnliche Programmiersprachen hält und ich lieber einen Begriff verwende, welcher allgemeingültig ist und somit alle Sprachen abdeckt. Beim Begriff "Caveman Debugging" hat man das eben genannte Problem nicht. Bei dem Wort "Caveman" denke ich persönlich an einen starken und einfachen Typen... zwar noch nicht sehr weit entwickelt, aber zumindest stark. Im Weiteren klingt das Wort auch sehr alt. Höhlenmenschen haben eben schon vor langer Zeit existiert; genau das ist es auch, was uns dieser Begriff im Bezug auf das Debugging sagen möchte. Es war die erste Art und Weise, wie man früher Software entwickelt hat. Diese Technik ist in bestimmten Situationen sehr nützlich und sollte deshalb auch nicht komplett ignoriert werden.

Persönlich finde ich den Namen jedoch passend zum Vorgang. Er hat nur ein kleines Problem: Viele Entwickler kennen diesen Begriff leider nicht. Um diesem Problem aus dem Weg zu gehen habe ich diesen Beitrag geschrieben und fordere euch dazu auf, den Begriff zu benutzen. Schreibt darüber oder erzählt anderen Entwicklern von diesem Begriff. So manch einer, mit dem ich über "Caveman Debugging" geredet habe, war erstaunt und betrachtete seinen Debugger mit ganz anderen Augen.

Zurück