Writing Code as Writing
Michael McCracken has a short post about making an editing pass through first drafts of programs:
I give paper sections and important emails a while to sit after I write them, and they always benefit from another look with fresh eyes. I think that doing this with code is worth thinking about.
We'd all like to get everything right the first time. But, face it: That rarely happens. And acting like it's supposed to happen enforces a lot of bad habits: Some projects are better handled by recursively drafting and revising (particularly complex projects). Some projects benefit from peer- or user-review (and then revision).
Pretending there's a perfect world in which all our texts come out fully, perfectly formed on the first try is like pretending there's a perfect world where we all have circus ponies. Or, more commonly, you end up decontextualizing and over-simplifying what "perfect," reducing standards to meet what we can easily do rather than raising our work to the standard. (Cool! Word didn't flag any spelling or grammar mistakes! Perfect!)
[via Daring Fireball]
