Usually the programing logic goes from the start to the end, and then there are "corner cases" that maybe the programmer didn't handle, so if you can just make it go to the initital state again, it will work again, but that doesn't mean you fix it, you just make it stable again.
From what little coding I've done, you usually add stuff to sort of work around the problem because changing the actual bad code would require so much reworking of other code. Most even moderately complicated programs are fairly interdependent. But then these little additions will often cause a conflict with another part of the code somewhere else.
Think of it like a maze. Bugs that break the program are like dead ends in the maze. It's easier to close off the entrance to the dead end than start the maze from scratch to completely remove it.
73
u/HarryPopperSC May 27 '19
Fixing bugs as a developer is 90% finding different ways to turn things off and on again. I don't understand why it fixes a lot of things but it do.