Tuesday, May 31, 2005

It's over

I worked more than sixty hours last week, and by "last week," I'm including everything from last Monday to yesterday, inclusive. Perhaps the most creepy thing is that my officemate works at least sixty hours each week. Anyway, I'm exhausted. Sure, in the end, it's all just looking and typing, but this last project has been the most mentally exhausing thing I've ever done, I think. Normally, for school projects, the only kind of technical review I've gotten has been a joke, and the problems were much more conceptually simple and uncomplicated compared to what I'm working on now. Now, I'm getting technical reviews from very smart people, and when very smart people look over the work that other very smart people (hey, I don't have to be that modest) have done, they find errors. Not even necessarily functional errors, just style errors. Things that I probably would have ended up tweaking myself once I had more time to worry about those sorts of things. Things that even had a good reason originally, but are no longer needed, and I didn't clean them up before submitting for review. Some of them make me look kind of dumb, because I look at them now, and I say, "well, yeah, now I could make it like that, but I couldn't before, because, well, I don't remember." There were several of those. My coding style also differs quite greatly from that of my reviewer—at least he isn't one of those filthy creeps who puts braces on the same line as their statements. Unfortunately, he's been working on the product for a long time, and his coding style is very similar to the team's official standards, so I must comply. Just some of the differences I was called on...

  • I failed to use Hungarian notation in a few places. (Hungarian notation is things like szText for "null-termated string Text" and ppvFiles for "pointer to a pointer of a vector of Files," for those of you who have only been coding this century or never at all.)
  • If statements and the "then" condition can never be on the same line. Never. You can't have "if (bExit) return;"—you have to waste two lines for this. Never mind that wasted vertical space makes you lose context and hurts the flow of the text.
  • Spaces instead of tabs in one particular area of the product. This is because the command prompt tabstops are at 8 characters, not 4, and some people use things like vi to edit and view source files. It sounds like we're changing to all tabs everywhere soon, though... that's something, I guess.
  • Lines wrapped to 80 characters. I think this one hurt the most, because some lines had to be wrapped absurdly. Word wrap has been invented. All of our screens are 1600x1200. There is no reason to break lines at an arbitrary limit. If you must break lines because every code editor's word wrap is stupid, do it at a good place, not just because you've already typed 75 characters and your next word is six characters. This is retarded. I will not back down on this. It will always be retarded.
  • I put the asterisk after the type name, not the variable name. This one I wasn't made to change. But, dammit, it's a wide char pointer, not a wide character-and-oh-look-it-also-happens-to-be-a-pointer. (I like "wchar* szText"; he likes "wchar *szText". When surrounded in code, I find the first one infinitely easier to read at a glance.)

It was a long process. This review and the final round of pre-checkin testing has been going on for the whole last week, and by the end, we were both having to try very hard to remain civil and professional, because I still disagree with a lot of what he says. I'm sure he felt at some point like I'm an arrogant prick... like, "here's someone who hasn't even been on the team for a year, with lines in excess of 100 characters (!) that use up a full half of the width of the screen, and he's disagreeing with me on technical issues." But, oh well. It's over. Wounds will heal. No more 60+-hour weeks for a long time, I think. I got to watch a couple movies and play Warcraft on Saturday and Monday, only working partial days then. Out of my three-day weekend, I got a total of a day or maybe even a day and a half of relaxation.


Matthew Beermann said...

Is it the nth sign of the apocalypse if I find myself agreeing with you on every point?

Travis said...

We're probably doomed.