We’re adding some new functionality to the refactoring project. Unfortunately the new functionality is located in the Heart of Darkness - the most twisty and poorly structured code in the whole system. Today I stumbled onto something truly awful. Exceptions used as glorified gotos within a 350 line function…
Exceptions are a great way of handling exceptional situations by hurling information up the call stack to someone who can deal with it better than you can.
Spent the afternoon at Decathlon in Surrey Quays. Came away with a pair of Rollerblade Lightning 03’s - which are probably a little over the top considering my lack of skill ;) but they were the most comfortable and smoothest skates I tried. Also got all the pads, a helmet and a rucksack.
I don’t expect to get much coding done in the evenings this week :)
Miche did the spontaneous thing this week. After hearing “Bring me to Life” on the radio once she bought the Evanescence CD. Cool stuff. Very nice sound. Kind of All about Eve meets Skin from Skunk Anansie on vocals with a nice rocky Linkin Park kinda guitar thing going on.
A good week for the refactoring project. The release procedures that are now in place mean that we’ve been able to react quickly to new functionality requests whilst continuing the new development efforts. Ah the wonders of a source control system being used properly…
It would be nice if we reacted at the right speed rather than just jumping when the users scream, but we’ll get there. This week we had a couple of releases that could have done with a little more testing… Still, this was pointed out to the person who made the call to release and, well, they made the call.
We had our last inline skating lesson tonight. Lots of recap on what we’ve done before, and lots of practice.
The crossover turns are quite comfortable now in either direction, which is nice, and we did some simple slalom - note to self: buy 6 day-glo cups. We were renting the skates for the duration of the course and today we had to give them back :( This means that we have no skates :( :( Which means, we can’t sneak a quick skate in on Saturday morning before we do all the other things we have planned for the weekend :( :( :( Sunday we shop for skates.
Well, the site is 1 month old and I’m still rambling on. I think I have about 4 readers now too ;)
This morning I wasted some time tracking down bugs in the multi-threaded online game engine that I’m writing for a client. Now I have tests. Tests are good.
The bugs were little things, they always are. Most of the wasted time was spent simply getting the server into a state where I could poke it just right and make the bug wave a white flag. For example, a bug only shows up when you have 3 players and one does something particular in round 2 and another leaves when he shouldn’t in round 3.
I’m not test infected yet. I’m almost there. I want to be there. But I’m not there yet.
I just spent an hour and a half fixing a couple of bugs in the online game system I’m writing. It took longer than it should have. Some areas need refactoring a little due to requirements evolution. The main problem, however, was getting to the point where I could test each change that i made took too much time; run server, run clients, do some stuff, watch it fail.
During some simple refactoring today, a phase of ‘restricting access to data members’, I discovered an interesting little design ‘descision’. In the spirit of completely mixing up the business logic and the display logic we have a data member that represents a colour that an object uses as its background colour when it is displayed in a grid. The colour is set depending on the state of the object; error, ok, new, complete, etc.
Finally got around to seeing Matrix Reloaded on Sunday night. Then picked up the Animatrix yesterday. Before I read any reviews or blogs on the subject I thought I’d spout off on my own…
(Contains spoilers and future plot speculation…)
Initial reaction at the end of Matrix Reloaded was one of disapointment. The effects were good, but I’d found the pace somewhat sluggish in places, the main story was a little thin and I didn’t like the downbeat ending.