Linked by Thom Holwerda on Tue 15th Jan 2013 21:24 UTC
General Development "I was really excited to write this article, because it gave me an excuse to really think about what beautiful code is. I still don't think I know, and maybe it's entirely subjective. I do think the two biggest things, for me at least, are stylistic indenting and maximum const-ness. A lot of the stylistic choices are definitely my personal preferences, and I'm sure other programmers will have different opinions. I think the choice of what style to use is up to whoever has to read and write the code, but I certainly think it's something worth thinking about. I would suggest everyone look at the Doom 3 source code because I think it exemplifies beautiful code, as a complete package: from system design down to how to tab space the characters." John Carmack himself replies in the comments.
Permalink for comment 549022
To read all comments associated with this story, please click here.
RE[6]: Good article
by Nelson on Wed 16th Jan 2013 16:01 UTC in reply to "RE[5]: Good article"
Nelson
Member since:
2005-11-29

I usually put braces on a new line unless the block is one line long.

if (someArg == null)
throw new ArgumentNullException("someArg");

The only exception I usually have to this is if its part of a larger if-the-else statement and the other blocks are multiline and have curly braces. Then I think:

if (this == that)
doX();
else if (x == y)
{
// ..
}
else
{
// ..
}

I think the obsession with vertical space is kind of silly in this day and age. I am much more sensitive to code that sprawls horizontally forever.

Besides, I often find new line braces more readable while less compact, whereas the opposite is true for a lack of braces, same line braces, or first brace same line.

At the end of the day though, it is extremely annoying when some full-of-himself programmer ignores the established project coding guidelines. I don't care if a monkey wrote it, if I'm going to be a part of a team, I'm going to follow their rules.

Reply Parent Score: 2