Publication Date: 7/1/2009 12:35:34 PM
A lot of the work I do involves looking for clues. Last week I upgraded a web app to allow users to upload photos of their properties. As my customer started testing, one user reported that they couldn’t access the photo upload page – an error was always generated. They tried with different accounts but the result was always the same. We assumed that there was something funky with their user accounts, and in fact they did discover some duplicate records that we suspected were the cause.
We were wrong.
As it turns out, the problem was much more mundane. No matter what account they used to access the system, they were always trying to attach the photos to the same properties. And those properties didn’t have phone numbers. And my code was trying to format the phone numbers, and broke when phone numbers didn’t exist.
But here’s my point: fixing bugs can be real detective work. You have to first identify the true cause of the problem. Sometimes the culprit looks shady, so he is easy to find. Sometimes there aren’t any obvious clues and the culprit is elusive. And sometimes the shady-looking character is innocent and the real villain is dressed like a sweet little old lady.
I always thought she looked suspicious.
Anyway, that’s one of the reasons why in most of the applications I write, I try to make it easier to find those clues. For example, I’ll log errors to a file to help me pinpoint some of the specifics of the problem. And you can help me with my detective work. The more information you can give me about what you were doing when the problem occurred, the more likely it is that I will find that evil-doer and bring him to justice. Uh, I mean, find and fix that bug.
Think like a geek
on 31 Jul
Your URL (optional):
Type the code shown
Top 5 Programmers to Avoid
What everyone should know about bugs
How to tell if an estimate sucks
The Secret to Building a Crappy User Interface
The Problem with Selecting the Lowest Bidder
5 Ways to Control Software Development Costs
Avonelle has been a pleasure to work with. Working with someone that you know will always deliver is tremendous.
Mark McNamee @ Renewal by Andersen
Copyright © 2013 Avonelle Lovhaug. All Rights Reserved.
Sitefinity ASP.NET CMS