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.
The Order of the Silver Rose was a religious order of Knights in an AD&D campaign that I ran. The campaign was set in The Forgotten Realms and was based around the FRE1-3 scenario packs.
Continue reading “The Order of the Silver Rose
In Asserts Redux Dan Dunham and Scott Shumaker are discussing how sometimes testers have to be able to work around assertion failures and how allowing them to do so dilutes the power of the assertions. The discussion moves on to how debug traces can get out of hand and eventually you drown in debug spew.
I find that in almost all cases debug tracing is overused. The problem is, as Dan succinctly puts it: “When you’re writing the code, you put in a bunch of debug statements to verify things as you go.
Updated: 23-May-2003
Questioning Extreme Programming by Pete McBreen
A useful analysis of the claims that the XP community makes and comparisons between the XP way and other Agile Methodologies. I’m currently about half way through and so far it seems like good stuff. It helps you understand what you can expect to gain from XP and if XP is the right thing for you. Often it wont be, but you may be able to learn something from it or use some aspect in your project anyway.