Go Back
Posted by: Avonelle Lovhaug
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.
Oops.
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.
Category:
Tags: Think like a geek
Shannon Henry 31 Jul
By Avonelle Lovhaug on 31 Jul
Name:
Email (optional):
Your URL (optional):
Comment:
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
As someone with over 20 years of software development experience and currently a small business owner, it has been a pleasure working with Avonelle. In addition to being a talented developer, Avonelle also has database expertise and system design skills. Avonelle is open minded and willing to discuss various methodologies for achieving a project goal. She is also not afraid to ask questions which is vital in a software development project. Her up-front project cost (not estimate) is very helpful in budgeting for a project.
--Dwayne Wolterstorff, Owner @ Fair
Sitefinity ASP.NET CMS