Last Updated: February 25, 2016
·
517
· section9

Goto and the art of evil

There are some crimes in development that are just so evil you don't even mention them by name. Using the GOTO keyword is the first of them.

I have just been handed a piece of code to review, the very first line was the label and I instantly stopped. I haven't seen labels in code for 10 years. I quickly scan down the code and there is it.. GOTO. I didn't even bother running the code I just closed the project. Just looking at it makes me feel dirty.

Yes the GOTO keyword is in C#, but that doesn't mean you should be using it. In the same way the barrel of a gun fits nicely in the mouth doesn't mean that is where you should put it.