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.
Thread beginning with comment 548955
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Good article
by galvanash on Wed 16th Jan 2013 02:54 UTC in reply to "RE[2]: Good article"
galvanash
Member since:
2006-01-25

I had a computer programming teacher that used to prefer:

a = a + 1;

to

a++;

in the name of readibility!!!


If it is purely a readability argument, I see no reason to not use the increment operator, as long as it is alone or just being used in a loop construct. Throwing it into an array index or dropping it into a computation is confusing and dangerous.

Your teacher may have just been trying to avoid having to deal with explaining prefix vs postfix increment, how they evaluate, and all the confusion that usually leads to with a newish programmer. Sometimes teachers do things that seem silly and pointless when your still green around the ears but 20 years later you go "yeah, I get it now"...

Edited 2013-01-16 02:56 UTC

Reply Parent Score: 3

RE[4]: Good article
by JAlexoid on Wed 16th Jan 2013 03:44 in reply to "RE[3]: Good article"
JAlexoid Member since:
2009-05-19

A compiler would just use an inc command in both cases... Though a++ makes sense only with integer variables.

Reply Parent Score: 2

RE[4]: Good article
by OzzyLondon on Wed 16th Jan 2013 15:30 in reply to "RE[3]: Good article"
OzzyLondon Member since:
2011-11-18

a = a + 1 = a.operator+( T other )
a++ = a.operator++( int )
++a = a.operator++()

Three completely different function calls

Reply Parent Score: 2

RE[5]: Good article
by Alfman on Wed 16th Jan 2013 16:02 in reply to "RE[4]: Good article"
Alfman Member since:
2011-01-28

OzzyLondon,

"a = a + 1 = a.operator+( T other )
a++ = a.operator++( int )
++a = a.operator++()
Three completely different function calls"

You are absolutely correct. And the post-increment operator highlights a C++ syntactic hack in and of itself. Personally I'm a bit disappointed that the language designers reverted to such an ugly hack (passing in unused int parameter to distinguish between functions).

Reply Parent Score: 2