Thoughts on object oriented development

Made a wokload of stirfry, watched an episode of Thunderbirds, then used my remaining brain power for the day writing some more lines of OpenGL / Cocoa code. I added 50 or so lines to the project, and was rather startled to find that the 400 or lines so I’d added since last compile cycle (a) compiled first time and (b) didn’t break anything.

I’ve probably written about this before, but one of the problems I find with object oriented software development, as far as version 1.0 of any given piece of code, is that I basically have nothing I can show anyone until about a week before the end, at which point it all suddenly falls together and works. After that, of course, it’s all feature creep, but there’s definitely a huge leap of faith required to get to 1.0.

Watching myself write code this evening, I think I worked out why this is. I think it’s because of my insistence on trying to avoid re-work by designing and coding things properly the first time. I try to avoid re-work not just because it’s boring, but because it’s also difficult, and tends to degrade the code over time if not done carefully. Dead code removal is also unpleasant, so I reckon it’s best not to build any in the first place.