Perhaps there are already enough refactoring examples, but if not then I present yet another. I was writing some code investigating a potential project here at Venture, and since it was just spike, code, I just hammered it out. Because it is spike code there are a couple of notable differences from good development practices that I should point out.
There's no shortcut to experience. Writing good object oriented code takes experience, but here are three practices to help you get off on the right foot day one with even the grumpiest of gray beards:
Most debates about XP revolve around a certain practice. Pair programming gets the most abuse, but many others take heat as well. It's time we transcended the practices and starting talking about the principles. But what are they?