@ de eeuwige brace-discussie: ik doe het graag zo:
C:
1
2
3
4
5
6
7
8
9
| if( foo )
{
if(foo2)
baz1();
else
baz2();
var1 = bar3();
} |
Dus braces op nieuwe regels, vertikaal uitgelijnd onder het eerste karakter van het bijbehorende control-flow keyword, en geen braces voor 1-statement ifs/elses.
Ik vind dit persoonlijk een fijne balans; de braces op deze manier schrijven maakt het voor mij makkelijk blocks te zien, en ze weglaten bij 1-statement ifs (wat vrij veel voorkomt) beperkt de hoogte van de code weer een beetje. Ik kan me niet herinneren dat ik hiermee ooit ben vergeten braces toe te voegen voor een extra statement in de if-body.
Stiekem wilde ik dat meer talen aan semantische whitespace deden zoals Python...
Zoijar schreef op vrijdag 11 januari 2013 @ 15:24:
Eigenlijk zou je een file formaat moeten hebben dat een soort ast opslaat en dat je die kan afbeelden hoe jij wilt (vergelijk, code in xml, editor met xsl/css stylesheet) en dat hij dan ook jouw invoer weer om kan zetten in het canonical formaat. Of bestaat dat al? (buiten smalltalk

)
In principe bestaat dat al, waar de kanonieke vorm "code met willekeurige formatting" is (feitelijk ook een AST-representatie

) en de display tools code formatters zijn
Niet zo technisch elegant als wat jij impliceerde, maar wel iets dat al bestaat en met huidige software kan werken

Het is toch eigenlijk raar dat programmeurs onderling afspraken moeten maken over de layout van de code en niet puur en alleen de werking?
Ja. Ach, misschien komen we daar nog wel eens van af, net zoals samenwerken zonder VCS tegenwoordig een beetje als onacceptabel wordt gezien...