[Zope3-dev] Zope 3 as a reliable platform?!?

Chris Withers chris at simplistix.co.uk
Mon Sep 4 03:23:55 EDT 2006


Christian Theune wrote:
> Why? Because we keep changing stuff and don't tell people in VERY LARGE
> LETTERS about it.

Actually, you highlighted the wrong bit, the important bit is:

BECAUSE WE KEEP CHANGING STUFF

Using Zope 3, and Zope 2 since the Zope 3 stuff started getting merged 
in is like trying to see the bottom of a lake when boats are 
continuously churning up the silt as they go past.

It's the churn that's the killer...

Please note, I'm not saying this change is bad or that people should 
stop introducing new features, I'm just pointing out that change means 
that anyone exposed to change has to re-learn stuff.

Now, my judgement call on all this is that not enough attention is being 
given to this "re-learning" overhead. Tres highlighted the extreme end 
of this where spellings and names are changed almost for the sake of it.

For me, the irony is that when Zope 2's development process was at its 
worst, this problem was at its best as there was so little change, 
enabling people to gather more knowledge without having to stop to 
re-learn their old knowledge.

Sure, having to do:

to_change = {}
if obj.hasProperty(x):
     to_change[x]=x_value
else:
     obj.manage_addProperty(x,x_value,x_type)
obj.manage_changeProperties(**to_change)

...and remembering that manage_editProperties is BAD isn't that pretty, 
but it's been stable for so long that I can write it from memory now, 
and that's a big win.

So, for me, it would be great if developers would take more time to 
weigh up the "what does this new feature or refactoring bring" against 
the "how much of a PITA is it going to be for everyone else to relearn 
this"...

cheers,

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope3-dev mailing list