Great blog post, as usual. It makes me wonder if anyone has ever considered a Developer’s Confessional, where we all get to confess our own sins–things that we’ve done, and known were wrong. Eating crow from time to time is great therapy. It helps us laugh at ourselves, and remember that we’re NOT Superman.
I’ve done things in code, and gone back to them the next day and thought “What in the FRACK was I thinking?!” I’ve then scrambled to fix them before anyone else noticed. I typically do these types of things when I’m tired, stressed, in a hurry, or distracted. They’re stupid mistakes that I know I shouldn’t be making, but I still make them. I’ve got 20 years or more in software development, and I still make stupid mistakes.
For instance, in Visual Basic .NET, in a Select Case structure that uses the TypeOf operator to compare types, I recently inserted a Case statement at the START to check if the argument was of type Object. This was in code that had been working for a year. The body inside the code told the Case statement to bail out of the Select statement and ignore all the other Cases.
Well, of course, as anyone knows, every intrinsic data type in .NET can be an object. So it’s no suprise that every data type started getting skipped. What in the HELL was I thinking? Twenty years in software development, and a lot of that spent in Java, C++, C#, and VB.NET, and I still make blunders like I just started yesterday.
Yeah. I think we need a confessional.
Read your blog, great post. One little caveat, though: you use the term “gamers” and “game development” pretty loosely. These days, “gamers” and “game development” tends to encompass MMORPGS–and you can bet that there is a ton of maintenance programming going on in those games. Further, a lot of MMORPG developers get their start at small gaming companies. Either way, the development practices can and should be the same.
Your article was great. You may want to consider an update to it. I always enjoy reading articles about code quality, so keep up the good work.