I spend a lot of time thinking about how to improve the design of my code. But, despite all that thinking, my initial coding attempts always have significant design problems. Yours probably do too. There are a lot of programmers out there better than me, but I don't think any of them are happy with their first drafts.
In writing there's the a maxim "Good Writing is Rewriting" and it's true in programming as well. If you want your code design to improve, then you have to refactor. And that refactoring shouldn't be haphazard code changes; you should be taking small, deliberate steps that you know will move your code towards a better design.
I want to get better at this, and the best way to get better is to do it. Over and over.
This site will present simple coding problems and illustrate the path from my initial, un-refactored design to my final, (and hopefully) better designed solution. And to show off the power of focused refactoring, I'm going to use the refactoring steps outlined by Martin Fowler in his book Refactoring.
I am Ian Whitney, a Ruby programmer at the University of Minnesota. I am not a rockstar, or a ninja or even remotely epic. Other than a standing interest in improving my skills as a developer, absolutely nothing qualifies me for writing this site.
Those are a sculpture along the Harmony-Preston trail in southeast Minnesota. I took the picture while on a lovely bike ride. Why is that picture the banner image for this site? I dunno. Something about roughly made art or something. Who can say?