[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