"The company I recently started at creates products for military and law enforcement use," writes John, "naturally, fixing bugs is a high priority for us in the software department, despite the legacy code we have to work with."
"One day, when I was feeling especially masochistic, I thought I'd run our code through FxCop, a static analysis tool to see what came up. As I was scrolling through the infinity billion warnings, I noticed one about an enum I had never seen. So, I clicked on the warning to find this:"
public enum DebugId
{
beta = 0,
_1,
R22,
R456,
NUM_IDS
};
John continues, "I didn't even realize that _1 was a valid identifier. Being the sensible developer that I am, I emailed the team that we refactor the code. A coworker replied back, I'll see your DebugId enum, and raise you Enum enum:"
enum Enum
{
_1 = 1,
_2,
_3
};
"Bold play, another coworker responded, I wasn't planning on doing this, but you've left me know choice:"
enum Version
{
_1 = 0,
_2,
NUM_VERSIONS,
INVALID = -1
};
"I folded."