In the world of coding/programming, there is a huge pain called bug fixing. Bug fixing refers to finding and fixing any issues that happen due to your code. In my experience, bugs are typically easily fixed, it’s finding the bug that’s the issue.
I’ve found that many developers go through different methods of bug fixing throughout a project. Typically, I will write a very small amount of code and then test. This usually allows me to know that the issue is present in just a small portion of my code. Other developers will take the route of writing a large section of content and then going through the many bugs that arise. I have used both of these techniques, and I wouldn’t say that one is better than the other, but I tend to go the short snippet testing route.
No matter which method you choose, you will never find all of the bugs in the system. If you do, it’s either a very small system or you’re lying to yourself. It’s these bugs that are typically very difficult to resolve. They usually require a particular set of steps to make them occur, and when bugs are reported, you don’t usually get the steps sent to you. If you can’t replicate a problem, it is challenging to figure out what the problem is.
I’ve found this to be a difficult concept for non-developers to understand. For example, if you’re a mechanic and someone brings their vehicle to you saying it makes a weird noise, but you can’t replicate it, you’d struggle to fix the problem. You likely will have some common issues that you are aware of, but you’re stuck if the customer brings the vehicle back after performing those common solutions. This is the same thing that happens in web development.
Another issue with resolving these sorts of bugs is that they can occur months or even years after you’ve developed the system. You might no longer even use the development language that you wrote the system in anymore. Now you’re trying to find a bug that you can’t replicate in thousands of lines of code that you wrote years ago. You likely don’t even understand most of what was written anymore and have to really take a moment to read and understand each section of code again.
When you finally find the problem, you are most likely annoyed as you probably forgot a semi-colon (;) somewhere fifteen levels deep in conditional statements. So now you put out a message that defines what you fixed and let the end-user try again, and you hope that nothing else comes up again because you really don’t want to restart the whole process all over again.
This post is a bit all over the place as it’s kind of a rant about something I’ve been dealing with. However, anyone who has dealt with things like this before will understand and probably feels my pain. Those of you who don’t understand, thanks for sticking with me through the end of the post and I hope you have a great rest of your week. I’ll see you again on Sunday!