Kapitel 3
Python-Skripte
78
Kommentare sollte man während der Programmierung schreiben und nicht erst nachträg-
lich einfügen. Wenn Programmtext geändert wird, darf man natürlich nicht vergessen, die
betroffenen Kommentare zu aktualisieren. Falsche Kommentare sind schlimmer als gar
keine Kommentare.
Man sollte nicht zu viel kommentieren. Hilfreich sind kurze prägnante Erläuterungen (Stich-
worte) zu schwer durchschaubaren Anweisungen. Keinesfalls sollte nur der Programmtext
mit anderen Worten wiederholt werden. Schlechter Stil ist ein Kommentar wie der folgende:
3.8 Hintergrund: Die Kunst des Fehlerfindens
Programme werden von Menschen geschrieben und enthalten deshalb Fehler. Das ist fast
so etwas wie ein Naturgesetz. Sobald der Programmtext länger als einige Zeilen ist, wird der
erste Probelauf scheitern und Fehler ans Tageslicht bringen. Im Jargon der Programmierer
werden Programmfehler Bugs genannt und das Aufspüren und Entfernen von Fehlern
bezeichnet man als Debugging. Der Begriff Bug (engl. für Käfer) stammt aus der Frühzeit der
Computertechnik, als die Rechner noch mit Röhren bestückt waren und ganze Räume füll-
ten. Damals krabbelten – der Legende nach – manchmal (echte) Käfer zwischen den Kabeln
und Lötstellen herum und verursachten Kurzschlüsse und damit Funktionsstörungen, die
die Techniker beseitigen mussten.
Man kann Fehler in drei Gruppen unterteilen:
Syntaxfehler sind Verstöße gegen die Grammatik-Regeln. Sie werden vom Python-Inter-
preter erkannt und gemeldet, bevor er das Skript ausführt. Beispiel:
Laufzeitfehler treten in einem syntaktisch korrekten Programm erst auf, wenn das Pro-
gramm läuft. Sie führen dann zu einem Abbruch des Programmlaufs, sofern nicht
bestimmte Vorkehrungen getroffen worden sind. In diesem Fall meldet das System eine
Ausnahme (exception), in der die Fehlersituation beschrieben wird. Das klassische Bei-
spiel ist der Versuch, durch null zu dividieren:
Heimtückisch ist, dass Laufzeitfehler manchmal lange unentdeckt bleiben und erst auf-
treten, wenn während des Betriebs eine bestimmte Konstellation von Bedingungen auf-
tritt.
Semantische Fehler liegen vor, wenn das Programm nicht das leistet, was es leisten soll.
Häufig spricht man auch von logischen Fehlern. Wenn Ihr Programm einen semanti-
i = i + 1 # erhöhe i um 1
>>> (3+2))
SyntaxError: invalid syntax
>>> 1/0
Traceback (most recent call last):
File "<pyshell#19>", line 1, in ?
1 / 0
ZeroDivisionError: integer division or modulo by zero

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.