Warning: include(title.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 11 Warning: include(): Failed opening 'title.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 11 Warning: include(header.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 19 Warning: include(): Failed opening 'header.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 19

Wie schreibe ich ein verständliches Programm?

Ihre Programme werden einerseits nach Funktionalität und andererseits nach Verständlichkeit bewertet. Funktionalität ist einfach zu prüfen - das Programm erfüllt die Aufgabenstellung oder nicht. Aber wie steht es mit der Verständlichkeit?

Für die Bewertung Ihrer Programme benutzen wir die folgenden Fragen, die Sie sich auch selbst stellen können.

Diese Fragen können mit Hilfe der »Code Conventions for the JavaTM Programming Language« (lokale Kopie) zum Teil beantwortet werden. Diese Richtlinien legen wir Ihnen dringend ans Herz.

Außerdem können Sie »Java Programming Style Guidelines« zu Rate ziehen.

Zusätzlich sollten Sie die folgenden Hinweise beachten:

Sind die Komponenten und Verfahren gut dokumentiert?

Gehen Sie mit Kommentaren nicht zu sparsam um. Kommentiert werden sollte: Andererseits können Kommentare auch fehl am Platze sein: Wie Sie an den Beispielen sehen, erwarten wir, daß Sie englische Sprache für Kommentare wie auch für Bezeichner verwenden. Grund: In Ihrem späteren Arbeitsleben werden Sie ohnehin vorwiegend englische Dokumente studieren und abliefern - also können Sie jetzt gleich damit beginnen. (Keine Angst - die Qualität Ihres Englisch wird nicht bewertet). Für Bezeichner ist englisch Pflicht und für Kommentare Empfehlung, aber mischen Sie auf keinen Fall deutsche und englische Kommentare!

Kommentare sollten entweder

Wird die Programm-Struktur durch konsistente Einrückung und Leerzeilen verdeutlicht?

Wir empfehlen folgende Regeln:

Wenn Sie als Editor den XEmacs nutzen, erhalten Sie Unterstützung beim Einrücken wenn Sie TAB drücken.

Wird das Verfolgen des Programm-Ablaufs durch kleine, wohlstrukturierte Prozeduren unterstützt?

Als Faustregel gilt: Was immer in eine eigene Prozedur ausgelagert werden kann, sollte ausgelagert werden. Dies gilt insbesondere für: Hat eine Prozedur mehr als 60 Zeilen, sollten Sie in jedem Fall prüfen, ob und wie sie aufgeteilt werden kann. (Wenn nicht, kommentieren Sie dieses Problem.)

Sind die Bezeichner aussagekräftig und konsistent gewählt?

Dies bedeutet:

Ist jede Komponente (Prozedur, Variable, Typ) so lokal wie möglich gewählt?

Um Namenskonflikte zu vermeiden, sollte jede Komponente (soweit möglich) nur dort verwendet werden können, wo sie verwendet werden muß. Nutzen Sie lokale Prozeduren und lokale Variablen; auf globale Variablen können Sie fast immer verzichten. Importieren sie nichts, was Ihr Programm nicht braucht; exportieren Sie nichts, was nicht anderswo benötigt wird.

Wenn eine Komponente nicht benutzt wird, hat sie in Ihrem Programm nichts verloren.

Kann das Programm ohne großen Aufwand an veränderte Randbedingungen (z.B. durch Ändern von Konstanten) angepaßt werden?

Grundregel: Was sich absehbar ändern könnte, sollte änderbar gestaltet werden.

Dies gilt besonders für numerische Konstanten. In Ihrem Programm sollten keine numerischen Literale außer 0 und 1 vorkommen (ein Literal ist ein Wert, der für sich selbst steht - z.B. 500 oder 3.14). Verwenden Sie stets Konstanten (z.B. numberOfUsers oder Pi), damit das Programm an nur einer Stelle geändert werden muß. Warning: include(footer.php3): failed to open stream: No such file or directory in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 297 Warning: include(): Failed opening 'footer.php3' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /data/www/htdocs/infosun/st/edu/prog2-06/style.php3 on line 297