I’ve recently recognized a nasty coding habit I seem to be developing. It’s been developing for a few months now, and while I kick myself every time I discover myself doing it, the habit itself is remarkably hard to kick.
I’ve been working on enhancing our internal Queen Bee application, this time making it so we can more easily track the performance of our Job and Gig boards. The change itself is pretty straightforward, but I found that when it came time to build the actual UI, I got stuck.
I kept chasing my tail. I’d look at the existing reporting UI that we have for our other products, and then I’d start thinking what needed to change to adapt it for the Jobs/Gigs reports. That would then lead me to think about potential refactorings in the code needed to support the (hypothetical) UI changes. Thinking about the code refactorings would lead me back to the UI, where I would think some more about the visual impact of the code refactorings, and so I would go, loop after loop, ad nauseam.
It’s ironic that, even after nearly 4 years of drinking the Getting Real message almost every day, I’d get stuck in such a trap, because the solution really is to just stop pretending and make something. In my case, I had to sit down and just mock up the page, throw together some HTML with fake data in it, and see what it looked like. And it turned out that I didn’t need to change the existing UI or code much at all—the new stuff was actually independent enough that it stood almost completely on its own. Oh, the bitter, bitter irony! I had wasted almost two days worrying about a non-issue.
So, if you ever catch yourself playing mind games with your code, just stop and make something. Pretending is poison. Stop drinking it!