FAQ:Programmierstil

[ FAQ in de.comp.lang.c ]


Diese FAQ bezieht sich in ihrer Gänze auf den inzwischen nicht mehr aktuellen ISO-C Standard 9899:1990, vielfach auch als C90 bezeichnet. Der seit Dezember 1999 existierende neue ISO 9899:1999 Standard (oder auch C99) wird nicht berücksichtigt.


[ Inhalt ][ Index ][ ZurÜck ][ Weiter ]


Frage 14.1: Hier ist ein hübscher Trick:

	if (!strcmp(s1,s2))

Ist das guter Programmierstil?

Antwort: Ein solches Konstrukt ist nicht unbedingt guter Stil, auch wenn es oft verwendet wird. Der Test ist erfolgreich, wenn die beiden Strings gleich sind, aber die Form suggeriert, dass hier auf Ungleichheit getestet wird.

Eine andere Lösung ist ein Macro:

	#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)

Stilfragen können - ähnlich wie religiöse Themen - endlos diskutiert werden. Guter Stil ist ein anzustrebendes Ziel und kann durchaus erkannt werden, es ist aber praktisch unmöglich, guten Programmierstil festzuschreiben.


Frage 14.2: Was ist der beste Codierstil für C?

Antwort: "Programmieren in C" von K&R beschreibt einen Stil, der sehr verbreitet ist, enthält aber gleichzeitig folgenden Absatz:

	Die Position von geschweiften Klammern ist weniger wichtig,
	obwohl manche Leute da ganz fanatisch werden. Wir haben in
	diesem Buch eine von mehreren populären Stilrichtungen
	benutzt. Gewöhnen Sie sich einen Stil an, den Sie für
	zweckmäßig halten, und benutzen Sie ihn dann grundsätzlich.

Es ist viel wichtiger, dass das gewählte Code-Layout konsistent ist (konsistent innerhalb des eigenen oder mitverwendeten Codes), als das es "perfekt" ist. Wem die Umgebung (z.B. die Abteilung oder Firma) keinen Stil vorgibt, und wer keine Lust hat, einen eigenen Stil zu erfinden, der kann einfach den von K&R übernehmen. (Die Vor- und Nachteile der verschiedenen Einrücktechniken und Klammersetzungen können bis ins kleinste erörtert werden, sie sind es aber nicht wert, hier Platz zu verschwenden. Siehe auch das Indian Hill Style Guide.)

Der schwer zu fassende Begriff "Guter Programmierstil" beeinhaltet sehr viel mehr als nur Regeln zur Formatierung von Quelltexten, Zeit für die Formatierung von Quellcode unter Vernachlässigung wichtigerer Punkte aufwenden ist Unfug.

References: K&R Sec. 1.2 p. 10.


Frage 14.3: Wo gibt es das "Indian Hill Style Guide" und die anderen angesprochenen Standards?

Antwort: Verschiedene Dokumente sind per anonymous ftp erhältlich von

	Host:                   Datei oder Verzeichnis:

	cs.washington.edu       ~ftp/pub/cstyle.tar.Z
	(128.95.1.4)            (aktuelles Indian Hill Guide)

	cs.toronto.edu          doc/programming

	ftp.cs.umd.edu          pub/style-guide

[ Inhalt ][ Index ][ ZurÜck ][ Weiter ]


[ FAQ Logo ]   © 1997-2004 Jochen Schoof (joscho@bigfoot.de)
Diese Version wurde am 14. März 2004 erzeugt. Sie wird zukünftig nicht weiter gepflegt.