Foreshadowing

Has this ever happened to you? You’re coding something new and exciting, and you can see that you’re getting close to a big goal. You don’t want to be distracted from reaching your perceived milestone, and you leave a trail of TODOs, FIXMEs, and other notes to yourself to take care of “minor details” after you’ve blazed your trail.

Fast forward about a week. You’re knee deep in debugging some obscure, unyielding problem. This bug makes no sense given what you know about the system. You’re convinced it must be your compiler, a library, something, anything but the code you’ve written because you know it’s solid.

Of course you know how this story ends. When you finally find the source of the problem, you find yourself staring at your own TODO: “Make sure you understand this return value”…”This will be NULL on Wednesdays so add a check”…”Add a bounds check”.

OK, maybe this never happens to you. Lucky you. It’s happened to me often enough that you’d think I’d have learned my lesson. I need a plaque that says “When in doubt, grep for TODO” mounted above my monitor.

Advertisements

,

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: