March 2009 Archives
In The Pragmatic Programmer, Andy Hunt and Dave Thomas make the case for aggressive refactoring (p. 176)
This is a familiar figure to those who discuss refactoring, who I will (at least initially) call the Overzealous Programmer. He is the Struwwelpeter brother of the Software Craftsman, and he is often invoked to warn against the dangers of caring too much about the condition of the code.
I wonder where the Overzealous Programmer figure comes from, and when he first appeared? Are there counterparts in other professions? Do doctors have a cautionary figure for, say, those who are too invested in the health of their patients, or too fastidious in maintaining their surgical skills?
Does he still serve a good end, or is it time for his retirement?
Don't be a slave to history. Don't let existing code dictate future code. All code can be replaced if it is no longer appropriate. Even within one program, don't let what you've already done constrain what you do next--be ready to refactor. [...] This decision may impact the project schedule. The assumption is that the impact will be less than the cost of not making the change.1This makes a good, if brief, case. But there's a footnote.
1. You can go too far here. We once knew a developer who rewrote all source he was given because he had his own naming convention.
This is a familiar figure to those who discuss refactoring, who I will (at least initially) call the Overzealous Programmer. He is the Struwwelpeter brother of the Software Craftsman, and he is often invoked to warn against the dangers of caring too much about the condition of the code.I wonder where the Overzealous Programmer figure comes from, and when he first appeared? Are there counterparts in other professions? Do doctors have a cautionary figure for, say, those who are too invested in the health of their patients, or too fastidious in maintaining their surgical skills?
Does he still serve a good end, or is it time for his retirement?
I found the following list in an old notebook in my handwriting. I have no idea what they have in common, nor any memory of writing it. Their connection is irretrievably lost, and probably wasn't much to begin with.
- Labyrinth in ear
- Samoyed dogs
- Richard Eder
- "Bad Behavior", 1993 movie
- Qom, Iran
- Storting
- Etaoin Shrdlu
- Daughters of Saturn
- Code (for example, source code, software, and software systems)
- Things (for example, doors, power grids, and subatomic particles)
- People (for example, me, soccer players, and humanity)
