on Jun 3, 2006
Several people have asked me to release the theme for this site so that others can use it. This sounded perfectly reasonable at first, but then I started taking a look through my code and realized that it is a mess. It was built a little at a time over the last nine months, adding on little gadgets and details as they came to mind without any thought for the long-term effects on the site itself.
As a coder, I should really, really, know better than this by now. But sometimes you just want to spend your time doing something, not making a tool for doing something.
When I write code for a living I’m always thinking about how I can re-use or extend it later. Barring that, I at least try to make it neat so I can make sense of it if I come back to make changes at some later point. I didn’t do any of that, and now the site has become a “code contraption”. It works, but you can’t change one thing without breaking three others. It’s sloppy and hard to read (the underlying code, not the site itslef) and now I’m getting nuts. Even when the hood is closed and I’m not reading the code, as I look at the site I know the bad code is there… hiding beneath the surface like so much duct tape, holding everything precariously together.
For example: Lots of stuff is hard coded. Even the title at the top. So, if you were to take this theme and put it on your site, the title at the top would be Twenty-Sided, no matter what you really named the site. The dice rollers are built into the theme, when they should be a plug-in. There are old, unused functions laying around, mixed in with in-use functions. No code comments. I edited the site in the wordpress admin interface and not in a proper editing program, which means the indenting is hosed.
So now I’m re-creating the theme from scratch. It’s far from done yet, but now that I’m doing it I’m curious what the strong points are. What is it about the theme for this site that works well? What would you change? What gets on your nerves?
I should add that I don’t plan to change the look of this site. My goal is to clean it up and maybe make minor adjustments based on feedback, but visually it isn’t going to change much.