Tuesday, February 23, 2010

zipWith

I've come to the conclusion that I shave too many yaks. I tend to go into broad hack mode, following tangents into deep waters without actually producing proportional results. My old ~/code was littered with projects half-completed, outlined, etc. I wasn't thinking in terms of "get foo to work" but "foo is interesting, I wonder if I can do bar as well?" This led to separate dirs for each language, full of separate projects and translations/ports and experiments.

One day, I decided to start anew. I archived all those odd starts and stops, and put them away with the metaphorical juvenilia where in an ideal world adolescent poetry would remain.

Starting from a blank slate is drastic yet liberating. I can already hear the objections, though:

"What about DRY?" someone will ask.

Well, have you looked at the code you wrote only a few months ago? Is it really repeating yourself to replace inadequate kludges with new and more sophisticated ones? If I wanted to strictly DRY, I would never bother refactoring. Consider a fresh start a de facto "you can do better than this. Rewrite it from scratch so maintainers don't hunt you down and stab you."

No comments:

Post a Comment