If I was going to implement a standard formatting style, I'd look into some kind of source-control commit hooks that could run new/modified files through a formatter, and enforce it that way. Automate the tedious part, somewhat like what gofmt does.
But as to my own preferences:
- Opening braces aren't special, and they don't get their own lines. Likewise, else, catch, finally, things like that, live on the same line with the closing brace of the previous block. Otherwise it's just too much wasted vertical space.
- Everything that can have braces around it should. No exceptions for one-line if's, and definitely no same-line ifs. I even like to put braces around my switch-case blocks, especially in languages where braces create a new scope.
- Interfaces can get the I prefix. Private member variables start with _. Properties are capitalized, regardless of visibility. Locals and function parameters start with lower-case.
- GUI controls get Hungarian-ish prefixes, since I started programming with Visual Basic, and it was always taught txtFoo, lblBar, etc. I kind of like it anyway, even for things like HTML element ids that get used in Javascript.
- Don't bother fully-qualifying variable declarations if type inference can figure it out -> LongObnoxiousEnterpriseGangOfFourPatternAbstractFactoryFactory = new LongObnoxiousEnterpriseGangOfFourPatternAbstractFactoryFactory() blows.