Der Martin: coding style

Beitrag lesen

Hallo,

if (eine_recht_lange_bedingung and eine_recht_lange_bedingung and
      eine_recht_lange_bedingung and eine_recht_lange_bedingung)
  {
      anweisung;
      anweisung;
  }

sieht schon viel besser aus. ;-)

Ich weiß nicht, wer sich den "Standard" mit der öffnenden Block-Klammer gleich hinter der Code-Zeile ausgedacht hat. Es ist durch diverse Untersuchungen nachgeweisen, dass die Fehlerquote bei jener Schreibweise wesentlich höher ist, als die bei der von mir oben gezeigten.

Ich kenne diese Untersuchungen nicht, kann die Aussage aber für mich bestätigen. Deswegen setze ich auch andere, für das Erfassen und Verstehen wichtige Token nie ans Zeilenende, sondern an den Zeilen_anfang_. Das oben beispielhaft skizzierte if-Statement würde bei mir deshalb so aussehen:

if (eine_recht_lange_bedingung and eine_recht_lange_bedingung
   && eine_recht_lange_bedingung and eine_recht_lange_bedingung)

Auch längere Summenausdrücke schreibe ich gern mehrzeilig, wobei das Pluszeichen bei mir dann immer am Anfang der Folgezeile steht, sauber untereinander ausgerichtet. Das bildet auch den zugehörigen "Denkprozess" besser ab:

$summe = $basis
         + $beitrag1
         + 3 * $beitrag2
         - $beitrag3;

Da stellt jede Zeile einen in sich abgeschlossenen Denkschritt dar; die ebenfalls häufig anzutreffende Schreibweise mit dem Plus- oder Minuszeichen am Ende der Zeile ist IMHO nicht so klar nachvollziehbar.

Genauso sollte man im Zeitalter von Copy & Paste, Foren und Boards, usw. keine beständigen Tabulatoren für die Einrückungen benutzen, sondern den Editor so einstellen, dass er sie in Leerzeichen umwandelt.

ACK.

Formatfreie Sprache heißt ja noch lange nicht, dass man nicht gewisse sinnvolle Standards einhalten sollte.

Sicher, aber was sinnvoll ist, empfindet jeder etwas anders. Ich halte es deshalb für falsch, einen bestimmten Stil allgemein als "richtig" hinstellen oder gar vorschreiben zu wollen - empfehlen und/oder diskutieren dagegen schon. "Richtig" ist dann, womit jeder einzelne, der diesen Code schreibt, am besten zurechtkommt.

So long,
 Martin

--
Der Bäcker schlägt die Fliegen tot
Und macht daraus Rosinenbrot.