On 18 March 2012 04:14, F i L <witte2...@gmail.com> wrote: > Manu wrote: > >> That's no less ugly though, in fact, it's considerably more ugly. more >> brace spam + indentation levels for nothing. >> > > I actually like the bracket+indentation as a section separator indicator. > Usually I'll "group" fields/methods by common attribute: > > class Window > { > private { > string _title; > int _x, _y; > // etc... > } > > @property { > auto title() { return _title; } > auto x() { return _x; } > auto y() { return _y; } > // etc... > } > } > > // Or... > > struct Vector2(T) > { > T x, y; > > @property { > auto xy() { return this; } > auto yx() { return Vector2(y, x); } > } > > @property static { > auto zero() { return Vector2(0, 0); } > auto one() { return Vector2(1, 1); } > // etc... > } > } > > But I'm also use to C# code which is usually indented twice before you > even get to functions (namespace -> class -> method). >
Yeah, I'm not really into that. I group things conceptually. Either way, I've never written a class where non-virtuals don't outweigh virtuals in the realm of 20:1. There needs to be a way to declare it the other way around without polluting my indentation levels. final: at the top and explicit 'virtual' would make a big difference.