CS 2 & 3 : Snarky and Snarkier

Shamus Young continues his commentary on the Id Software coding standards.

As I mentioned in the last post, I read the Office document that describes the internal coding conventions of id Software, and I thought I’d go over it... 
According to programming lore, there was a time when managers would measure programmer output by how many lines of code they’d written. This was ostensibly a real thing done by human beings who were at least smart enough to operate a necktie.
And so we continue discussing the Office document that describes the internal coding conventions of id Software. Why? Because I hate having readers and I’m trying to bore you into going away. So far this plan has backfired spectacularly. You people are just as strange as I am. Let us revel in it.
One nit to pick:  in Part 3, the esteemed Mr. Young [1] comments about Id's rules on floating point values ("Use precision specification for floating point values unless there is an explicit need for a double."):

This particular rule is odd because it's not just about personal style, readability, or aesthetics. This particular rule needs to be followed if you don't want a bunch of annoying warning flags every time you compile. This one is so important I'm surprised it was listed at all.
Keep in mind that the coding standards we're reviewing probably date from the early 90's - probably 1991 or 1992, only a couple of years after the first formal specification of ANSI C was ratified.  Having worked with pre-standard versions of C++ compilers, I really don't have any trouble imagining that there were different pre-stadnard versions of C compilers that had... quirks.  Like making different sorts of decisions on how to interpret the desired precisions for an otherwise unspecified floating point value.


In other words, this may not be a nit-picky rule about compiler warnings; it may have been an attempt to ensure that code would remain portable between different compilers.

[1] No, I am not being sarcastic.  I would love the chance to meet Shamus.  I have even - fanboy squee moment! - seen him at the mall, as he lives in the same general vicinity of our clan.  I still kick myself for not stopping to say hello and introduce myself, since now he's a big time blogger and if I saw him and gushed "Oh. Em. Gee.  SHAMUS YOUNG!  I have been reading your blog for-EVAH!" he would probably just give me a cool, calculated glance and back away slowly into a more defensible position while silent-dialing 911 on his cell phone.

No comments: