Amusing, but accurate, code quality metric

In a code review, the lower the number of WTFs/minute is as good a metric as any other. The highlighting in the quote below is mine.

Which appears facetious at first, but perhaps hints at a deeper truth: high quality code should not surprise us; we should be able to quickly and easily discern the structure and intent of the code. But doesn’t this then place software quality in the eyes of the beholder? What if the person evaluating the code isn’t familiar with the patterns used by the original developer? (Or – to be more cruel – what if they just aren’t competent enough to recognize the patterns used?) Are they not likely to harshly judge the code based on miscomprehension? (A similar suggestion to this measure is that software quality is inversely related to the amount of time required to make a modification; again the major problem with this is that it depends on the capability of the person making the change).

On Code Quality « SourceForge.net: Project ogsa-dai

Too many developers are overly impressed with their own cleverness. I’ve found this more often in “classically trained” developers than self-taught developers, and I’ve found it in myself, too. Regardless the source, resist the temptation to implement cleverly… you’ll wind up writing bugs you can’t fix. Ask me how I know. Heh.

Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?

"The Elements of Programming Style", 2nd edition, chapter 2, by Brian Kernighan

Not a good plan. A better plan (to paraphrase Einstein) is to write the simplest code possible, but no simpler.

Awesome is better than more.

I have to agree… Awesome is better than more.

No matter, says Casey Willis, an avid gamer from Atlanta. "Make a game worth my time and money, and I’ll be happy. After all, 10 hours of awesome is better than 20 hours of boring."

Why most people don’t finish video games – CNN.com

My observation is that more than a few studios build a game and then feel the need to pad it and add more at the end… I hope this means that more developers are actively designing for story length up front.

Better to add features that give significant replay value for the folks who want more, and drop DLC to extend the long tail in digestible chunks over time.

Polishing period?

Always keeping my eye out to try to ascertain what distinguishes the studios that continuously deliver on their brand promise, I found this little nugget at the bottom of an article that was about something else entirely.

Capps revealed that this polish period is still prevalent in the company today. "Gears of War 3 was actually finished some time ago," he revealed. "Microsoft wanted to shift the date to better fit with their portfolio of releases. My intention was never for us to continue polishing Gears after the original due date, the game was finished and was fantastic. I told the staff we had to move on, but they soundly ignored me. Polishing games is part of our DNA, our story, and we understand that quality and technical leadership are the hallmarks of our company. As a result, that story influences everything that we do."

Gamasutra – News – GDC Europe: Epic’s Capps On Why Shadow Complex 2 Was Shelved

It echoes a post by Seth today on three things that customers want… and choosing which one or two of them to focus on.

It’s tempting, particularly for a small business, to obsess about the first—results—to spend all its time trying to prove that the ROI is higher, the brownies are tastier and the coaching is more effective. You’d be amazed at how far you can go with the other two, if you commit to doing it, not merely talking about it.

Seth’s Blog: Three things clients and customers want

One part of the “schedule” methodology that we’ve adopted for ourselves is specifically for putting the polish on. At the end. After the game is done. It’s so much easier to identify what really needs to be shinier (or less shiny) after the gameplay has solidified, all the story branches have been concluded and the audio recorded. Then we can really focus on making the presentation of our gamecraft the quality we require.

Every schedule has a polishing period at the end before we ship.

How long is it? Great question for a future post!