One of the problems with the code base that we’re refactoring is that it’s full of dead code. This week we dealt with it…
Throughout the system there were swathes of code that were commented out, there was very little in the way of explanation as to why the code was not currently required and when it might be required again. It may have been old code that wasn’t required any more, or was broken or new code that wasn’t finished yet, or was broken.
Refactoring project going well; Just in time requirements project moving into a phase where we finally get end to end connectivity; skating hurts - lesson two, 2 falls and, well, my body is old :( I know why I ski and don’t snowboard… Poker lessons and some people I used to work with a long time ago lose their jobs and are happy about it…
In March we skied in Colorado. Beaver Creek, Vail, Breckenridge and Keystone. Excellent conditions. We were in Vail on the day after the big dump in March and had 18" fresh powder on top of the grooming. I took the video camera out when were we in Breckenridge. This is the result.
I filmed the guys whilst skiing around them. I didn’t use the head cam this time, just held the camera and pointed.
Bob Cringely has been upsetting some programmers with his comments on refactoring. Initially, he had this to say:
“Cleaning up code” is a terrible thing. Redesigning WORKING code into different WORKING code (also known as refactoring) is terrible. The reason is that once you touch WORKING code, it becomes NON-WORKING code, and the changes you make (once you get it working again) will never be known. It is basically a programmer’s ego trip and nothing else.
In March 2002 Vincent Hart, a freelance photographer, took some pictures of our flat with the intention of getting them published. His pictures appeared in the March 2003 edition of 25 Beautiful Homes.
Some more of the pictures are now availble on our flat project diary web site.
Joel Spolsky has a quick test to rate how good your software development process is.
I thought it would be useful to see how the refactoring project scores.
1. Do you use source control?
Yes. The main part of the team has always used CVS for source control and do it properly (tags, branches, all kinds of stuff). This project’s lead developer didn’t believe in source control, but eventually the rest of the team dragged him into the light.
The XP folks talk about the importance of making frequent small releases. This method has advantages over and above the obvious ones; not only do you get regular feedback from real users, you also get regular practice at doing a release…
Picture a project. You work like crazy for x months and then, right at the end, you take what you have and release it. But how do you release it.
Last night I had my first inline skating lesson with city skate at Spitalfields.
It’s been almost 20 years since I last skated on pavement. That in itself is kinda scary, I’m not sure I have something that I did 20 years ago that I’ve suddenly started doing again. Oh, the joy of getting older.
Last time I skated I was on roller skates; same number of wheels, half the number of axels.
I just took the What kind of thinker are you test over on the BBC site.
Interesting results…
You are a Spatial Thinker
*Spatial Thinkers:
Tend to think in pictures, and can develop good mental models of the physical world.
Think well in three dimensions
Have a flair for working with objects
Like other spatial thinkers, Leonardo had a talent for designing buildings and machinery. He also invented a new style of map making.
I always used to think that there was probably a good reason behind things I didn’t understand. Now I’m far quicker at deciding that the reason is that the person who created the thing didn’t understand either.
I’m currently working with a client to aid in the handover of some source code from the original developer to the rest of the development team. An unusual project because the original developer is still around for a while.