Hum...
There would be a lot to say about coding standards, as Steve McConnel very correctly notice in "Code Complete", it's very easy to get religious and to only defend something because it's something you're used to.
I just would like to point out that the goal of coding standards is to make your life easier, and that it depends on the context.
For instance, hungarian notation is there to help you keep clear of type bugs, hence it's usefull in programming environements without type safety and useless in programming environements with type safety - in other words, good for C, not for C#.
What's best ?
Code:
if (condition)
{
/* (english description) */
do_something(with_this_stuff);
}
else
{
/* (english description) */
do_some_other_thing(with_this_stuff);
}
or
Code:
if (condition) {
/* (english description) */
do_something(with_this_stuff);
} else {
/* (english description) */
do_some_other_thing(with_this_stuff);
}
or even
Code:
if (condition) { do_something(with_this_stuff); } // (description)
else { do_some_other_thing(with_this_stuff); } // (description)
I prefer the first style other the second one, because it turns logical blocks into visual blocks. The second one keeps it in a style that is closer to litteracy. I'm slightly more visual than auditory in the way I think and learn, therefore I prefer the first style and I assume that probably most of the people who prefer the second style tend to be the opposite (more auditory than visual).
What's the best way ? The ones that best match the way you think.
Which might not help much when it comes to team-work. I would be enclined to believe that there are more programmers on the visual side than on the auditory one - but I have no fact to backup that, it's only a feeling from experience.
In fact, after a while working on personal projects, I made up my own style, which is the last one. To me, it combines the best of both worlds - clear and dense. Of course it goes against the classical tradition of '80 characters per line max.', but maybe someone will be able to explain to its defenders that laser printer and HD-era computer screens have little in common with daisy-wheel printers and these good old 3270 IBM terminals - you know, the ones that nowadays even comes with colours! (And btw, to tell the truth, I would probably even align the function's arguments on the same vertical line).
There's no thing such as good coding standards in the absolute, they depend of the context - of course the technology but also the team of programmers...
PS: and don't forget the goal: make your life easier!