In my last blog post, I promised to journal my attempt at cleaning up some code I wrote to make maintaining it a much easier task. The application I mentioned was called, at least by me, the Scrabble Tournament Assistant.
Prior to writing the application, I had been asked to help with moderating duties. These duties involved checking forums for game links, verifying the scores stated by the players and posting the scores to spreadsheets. This system worked well but involved additional QA to ensure the recorded scores were accurate. Something tells me they introduced this when I came in as I can’t be trusted outside of an IDE, or notepad when necessary.
Eventually, the process was standardized to such a degree that I couldn’t help but notice a few things that could be handed off to a CPU somewhere. I won’t mention that I was just too lazy to do it manually. OK, I was just too lazy to do it manually. As I sometimes do, I took out the cod’n guns and went at it. This really comes down to the effort put into standardizing the process by the admins, without which I might not have taken on the task to automate it.
I had also been fiddling around enough with the games we were using for the tournaments to see certain things that I could use. Fiddling included the use of fiddler, eventually, to see the APIs being used by the games to return data for the flash front ends. I figured the hits I’d introduce wouldn’t affect the performance, so they wouldn’t mind. I did reach out, and they did consent, through silence :).
There’s a lot more I could say about the experience and the fantastic admins for what is now the OWLS (Online Wordcraper Lexulous and Scrabble) League. This post is intended, however, to be an overview of the initial state of the application before my attempt to clean/refactor the code. I did miss some obvious code smells in my run through, but I’ll try to cover those in the refactoring process.
This is also my first venture into narrated videos, so the quality should improve over time.
In addition to rewriting the application, it will be changed from an admin facing application to a player facing application. It will also use a database instead of a spreadsheet and I’ll be learning some laravel, woohoo!
Feel free to check out my chrome extension as well, developed with Sir Elliot Manley from the UK.