Monday, November 28, 2005
Does Tookie Williams Write Unmaintainable Code?
I had written a grand analysis of “Tookie” Williams, the death penalty, and what it means to earn clemency. I had driven deep down into my anti-death penalty soul to come to the conclusion that while I, private citizen, would happily argue against the death penalty, I, pretend governator, would not rise to commute the sentence.
If I were Lord Ruler of Californialand, Tookie would die, and I would feel extra guilty for a bit.
Of course, it took thousands of words to get to that point. When I’d arrived, I looked around at that pile of political thought, and said, “Screw it.”
Even I wasn’t interested in my views on capital punishment and Tookie Williams today.
So, instead, for all my geek friends, I offer a link to a rather lengthy essay:How to Write Unmaintainable Code.
A taste.
To foil the maintenance programmer, you have to understand how he thinks. He has your giant program. He has no time to read it all, much less understand it. He wants to rapidly find the place to make his change, make it and get out and have no unexpected side effects from the change.
He views your code through a toilet paper tube. He can only see a tiny piece of your program at a time. You want to make sure he can never get at the big picture from doing that. You want to make it as hard as possible for him to find the code he is looking for. But even more important, you want to make it as awkward as possible for him to safely ignore anything.
Programmers are lulled into complacency by conventions. By every once in a while, by subtly violating convention, you force him to read every line of your code with a magnifying glass.
Notably, I’m pretty sure that most programmers would support the death penalty for anyone who actually follows the guidelines suggested in the essay. And they would be fully justified.

Comments & Trackbacks
I know it’s probably been said before, but there’s a Dilbert strip about the guy who writes “spaghetti code” which sounds a lot like this.
As you can probably imagine, at my office we had more than a few laughs at that article when we first saw the /. link. Especially since we are currently still clawing our way out of the hell created by just such a programmer.
Scott (you remember Scott) showed this to me last week right before our Thanksgiving break and I giggled tons. Unfortunately, in the little amount of code that I’ve been called upon to write, I’m fairly sure I’ve been accidentally following a bunch of the rules.
This is why I prefer to let someone else take care of that part for me.
Man, this zombyboy/David change is a pain in the butt.
I just heard a great radio story yesterday about Robert Louis Stevenson and his fascination with split personalities. Quick, write something because this name transformation confusion of your’s might be the start of literary greatness.
I could have sworn I heard masses of people giggling while I read that bit about “literary greatness.”
Odd.
It didn’t make me giggle. But it did make me throw up in my mouth. A little.
Be careful or I’ll crush you with my burgeoning literary greatness.
*URRK!*
Damn, there it goes again.
Go forth, and burgeon no more.
8-)