theo hat geschrieben:
setstatfilevar(istatfile(self),avalue,fstatfile);
Hm. Code von Leuten mit kaputter Shift-Taste ist schon auch so ein guter Kandidat für TheDailyWTF...
Dieser Python-Sytil mit dem Einrücken ist zwar auch eine lustige Idee, hat aber auch viele Probleme:
1) begin und end sind wichtig. Ist ihre Position irgendwo verstreut, ist es wesentlich schwerer Fehler
an ihrer Position zu erkennen. Es geht ja nicht nur darum dem Leser die Idee des Codes darzubringen,
sondern der Leser muss auch in der Lage sein "Code = Absicht" einfach zu prüfen. Wenn man es
trotzdem durchziehen will, wäre es zumindest Pflicht die Positionen der begin und ends vollautomatisch
mit den Einrückungen abzugleichen.
Was aber nicht so einfach geht wegen:
2) Wenn die Zeilen länger werden und man Zeilenumbrüche im Code hat, die nicht zur Syntax gehören,
funktioniert dieses "Syntax = Einrückung" einfach nicht mehr.
Das kommt u.a. vor bei
- Funkitionsaufrufen mit vielen Parametern
- längeren Verkettungen von Strings
- längeren boolschen Bedingungen
- ...
Der "Richtige" Stil ist folgender:
"begin" und "end" immer auf selber Einrücktiefe. Das erzeugt im Code ein Rechteck-Muster, das sehr einfach zu erkennen ist.
Schlechter, aber recht üblich ist auch:
Hier hat man ein Dreieck, mit recht variabeler Breite. Das begin kann dabei auch schon mal aus dem Bildschirm wandern
So ein Dreieck ist von der Mustererkennung her prinzipiell schlechter zu erkennen. In uralten Styleguides war es aber Standard um
Zeilen zu sparen. Seit der Urzeit hat sich die Anzahl der Zeilen, die auf den Bildschirm passen aber drastisch erhöht, und das Argument mit dem
Zeile-Sparen zieht einfach nicht mehr.
Was am besten ist, ist meiner Meinung nach keine Geschmacksfrage, sondern man könnte den Unterschied bestimmt auch objektiv ausmessen.
Z.B. wenn man mal die typischen Augenbewegungen beim Lesen von Codes ausmisst.
Ich bin mir da zu 100% sicher, dass das begin und end auf derselben Einrücktiefe gewinnt.
Nimmt jemand eine Wette an?