[Zope3-dev] Allowing views to be registered for classes ratherthaninterfaces.

Martijn Faassen faassen@vet.uu.nl
Fri, 18 Jul 2003 19:24:55 +0200


Peter Simmons wrote:
> >If a system is easy to build small applications with, it will be used 
> >to build large applications.  That's because most large applications 
> >grow from small applications, and the rest don't work.  ;) 
> 
> Ok, sorry to get off track. Could still argue that it will be different 
> people building the large app from the small ones so making 
> documentation complusory could be a good thing.

Python is not a bondage and discipline language, and I don't think
Zope 3 should make it that way. Python developers like Python because
it allows flexibility and to get things going quickly. 

The discussion here is about allowing evolution from small & simple to
something complicated. Of course a complicated system needs lots of
documentation. Then again, complicated systems have constant demands
on them for feature additions, and sometimes due to time pressure
this may be a hack.

So, sometimes you just need to get the job done now. 
To support this it would be nice to be able to forgo writing a full interface
right away, as it wouldn't be very good anyway, and at best misleading.
It would also be nice if it were clear to the people reading the code that 
this was happening (hey, we're not doing it the proper way here!).

So, while everybody agrees that documentation is a good thing, and
having explicit interfaces that are well maintained are a good thing,
I don't agree that we should be enforcing this.

> I guess a nice 
> alternative is to provide a set of recommended practices and let people 
> choose. Then if they start small at least they will have something 
> obvious to turn to once it is getting bigger.

Yes, a set of recommendations would be nice.  Also we can expect 
Zope 3 itself will set a lot of the standard, along with some
very popular applications or extensions written for Zope 3. Finally,
common Python coding practices exist as well. The Zope 3 guidelines
should not diverge from these too radically, as one of the goals
is to be able to integrate Pythonic code and to attract Python programmers.

Regards,

Martijn