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 549447
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: Good article
by Savior on Sat 19th Jan 2013 15:27 UTC in reply to "RE[5]: Good article"
Savior
Member since:
2006-09-02


if (x = y) then dosomthing else dosomthingelse(y);

That is a pure statement, with no semicolon after the first clause. Geddit?


I don't. How is that any different from
(x == y) ? dosomething() : dosomethingelse(y);
?

Maybe it looks a bit more cryptic than its begin/end counterpart if you embed these kind of statements into each other, but not by much. Stacking ternary statements is always ugly and unreadable, regardless of the language used.

Reply Parent Score: 2

RE[7]: Good article
by henderson101 on Sat 19th Jan 2013 21:36 in reply to "RE[6]: Good article"
henderson101 Member since:
2006-05-30

Because ? is an operator, not a key word and it doesn't really work in the same way - at least in c#. Plus in Pascal one can have as many segments in the statement as one likes:

if (x = y) then begin do1(); do3(); end else if (x = a) then do2() else begin do4(); end; //3 blocks

if (x = y) then begin do1(); do3(); end else if (x = a) then do2() else begin do4(); if (y = x) then begin do5(); do6(); end else do7(); end; //a 2 block embedded in a 3 block

Obviously, no one would format the code that way - it's just an example.


You can't really implement that using ? without a lot of unreadable complexity.

Reply Parent Score: 2