Mon, 28 Aug 2006
Two claims about clean code
Agile depends critically on programmers keeping the code
clean. Lots of us know important steps in making code cleaner:
remove duplication,
rename methods and classes as their purpose changes, be wary
of if statements, check if methods
are composed, move methods that
display feature
envy, and the like.
I make two claims.
A lot of the craft of being a good programmer is how you
sequence those individual steps, how you make them work
together.
Standards of cleanliness ought to be situational.
For example,
consider an application in an
extremely fluid domain, one where there's a considerable
business advantage to having a code base that's ridiculously
flexible, one whose capabilities suggest new
features. Contrast it to a
purely CRUD
app. The first ought to be much more aggressive about
naming, I bet, and I wouldn't be surprised to see the
programmers favoring embedded domain-specific languages.
(As someone once said,
"All large systems eventually end up with a Lisp implementation
inside them.")
I wonder how I could learn more about that? The best way would be to
work with other people on several disparate systems for a long
time—which is not in the cards.
## Posted at 11:17 in category /agile
[permalink]
[top]
|