Hallo!
Und wie interpretierst Du folgende Aussage von Martin?
Die öffnende Klammer am Zeilenende ist so ziemlich das übelste, was mir einfällt. Da erkenne ich auf Anhieb nämlich nicht, ob das nach dem if eine einzelne Anweisung oder ein Block ist.
Der Punkt ist: es ist immer ein Block, auch wenn dieser einzeilig ist.
Aber noch mal zu Martin: Das Ende des Blocks erkennst Du immer an der geschlossenen geschweiften Klammer UND der aufgehobenen Einrückung.
if ...
...
}
Also, ich persönlich bevorzuge die öffnende Klammer in einer Zeile mit der Bedingung, da für mich die Bedingung mit dem Beginn eines Anweisungsblocks logisch verknüpft sind. Falls ich einmal von einem Projekt andere Coding-Standards vorgesetzt bekomme, dann ändere ich das natürlich notgedrungen. Aber man sieht das auch in Sprachen, die eine etwas andere Syntax kennen:
if ... then
...
end if
Zugegeben, ich denke hier an VB, was ich vom Sprachdesign für eine der schlechteren Sprachen halte. Aber hier würde auch niemand auf die Idee kommen, das "then" in eine neue Zeile zu schreiben und mit dem "if" auf eine Stufe zu setzen.
Eine Zeile Programmcode sollte für den Leser m.E. immer eine neue Information enthalten. Wenn ich nun eine Zeile sehe, die mit "if", "for", "while" etc. beginnt, dann _weiß_ ich, dass ein Anweisungsblock folgt (und ich sehe es anhand der Einrückung). Welche neue Information liefert eine Zeile mit einer geöffneten Klammer? - Richtig, jetzt beginnt ein Anweisungsblock! Also _ich_ wußte das schon eine Zeile eher... ;-)
Just my two cents.
Gruß,
Oliver
Die meisten Menschen werden als Original geboren und sterben als Kopie.