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
_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com