seth: klammern bei einfachen anweisungen nach "if"

Beitrag lesen

gudn tach!

Aber man sollte [die geschweiften Klammern] nicht weglassen. Denn fügt man eine zweite Anweisung hinzu, die auch innerhalb vom IF ausgeführt werden soll, benötigt man die Klammern wieder.

das ist wie so vieles beim schreiben zum groessten teil gewohnheitssache. so wie manche leute schliessende braces vergessen, vergessen einige, beim hinzufuegen von zeilen, die oeffnenden und schliessenden braces hinzuzufuegen. und beide fehler sind je nach code leicht oder schwer zu finden.

Um Fehler zu vermeiden, sollte man GRUNDSÄTZLICH KLAMMERN SETZEN, egal wieviele Anweisungen im IF stehen. Vergessene Klammern fallen einem nämlich nicht sofort ins Auge, wenn man "mal so, mal so" schreibt.

Schreibt man IF hingegen IMMER mit Klammern, fällt einem ein IF ohne Klammern sofort auf.

und eben das ist gewohnheitssache. so wie man sich angewoehnen kann, bei einem "if" (oder "for", "else" etc.) und beliebig vielen darauffolgenen eingerueckten zeilen nach einer zeile mit "}" zu suchen, kann man sich angewoehnen, bei einem "if" (etc.) und mind. 2 darauffolgenen eingerueckten zeilen nach einer zeile mit "}" zu suchen.

allerdings kann man das natuerlich auch noch etwas verkomplizieren, indem man z.b. mehrere echte anweisungen wie
  if(foo){
    bar; baz;
  }
in eine zeile quetscht.
wenn sowas vorkommen darf, muss man wohl doch etwas mehr aufpassen oder eben grundsaetzlich klammern setzen.

es gibt uebrigens auch sprachen, in denen das weglassen von begrenzern bei einfachen anweisungen nicht erlaubt ist, z.b. bei matlab _muss_ man immer ein "endif" setzen, was mich schon mehrere male fast zum kotzen verleitete.
selbst in perl liefert bspw. der code
  if(1) print 1;
eine syntax-error-meldung, mit braces waer's ok.
dagegen waere
  print 1 if 1;
korrekt. an dieser stelle moechte ich einfach mal wieder betonen wie geil ich die moeglichkeiten bei der perl-syntax finde.

kurz: es ist imho geschmackssache, ob man es nun so oder so macht.

prost
seth