[Zope3-dev] Re: Zope 3 Newsletter: Issue 10
Jeffrey P Shell
jeffrey at cuemedia.com
Thu Sep 11 12:19:23 EDT 2003
On Thursday, September 11, 2003, at 07:30 AM, Chris Withers wrote:
> seb bacon wrote:
>>> Sorry, but you can't start off with that as a premise and, at ANY
>>> level, expect to not end up with an unmaintainable mess at some
>>> point.
>> But an unmaintainable mess which works now is often preferable to an
>> elegant structure which works in 6 months' time.
>
> That's not a view I share ;-)
> The overhead of producing something elegant first time round is small
> enough, for me at any rate, that I don't see the need to ever create a
> mess...
>
>> Perhaps a better question is, how can we make it easy to refactor?
>
> Indeed!
A recent post by Martin Fowler, author of the excellent Refactoring
book, discusses "Technical Debt" which emphasizes that it needs to be
easy to refactor.
http://martinfowler.com/bliki/TechnicalDebt.html
"""
Technical Debt is a wonderful metaphor developed by Ward Cunningham to
help us think about this problem. In this metaphor, doing things the
quick and dirty way sets us up with a technical debt, which is similar
to a financial debt. Like a financial debt, the technical debt incurs
interest payments, which come in the form of the extra effort that we
have to do in future development because of the quick and dirty design
choice. We can choose to continue paying the interest, or we can pay
down the principal by refactoring the quick and dirty design into the
better design. Although it costs to pay down the principal, we gain by
reduced interest payments in the future.
"""
Something that I'm getting from this discussion is that the chasm
between 'scripter' and 'developer' is quite wide. 'Scripter' does
things one way, 'Developer' does them another way. Are we in danger of
creating something like the chasms between the development modes that
exist in Zope 2?
It's understandable that they should be different, given their
potential target audience. But the path from S -> D should be easy to
follow.
More information about the Zope3-dev
mailing list