[Zope3-Users] Re: Large project organization?
Philipp von Weitershausen
philipp at weitershausen.de
Sun Dec 18 10:09:32 EST 2005
Alec Munro wrote:
> I'm trying to ensure the most efficient organization of my projects,
> and I'm wondering what the best practices are. I try to divide things
> up into modules when it seems appropriate, but where should those
> modules be located? What's the logic for deciding if a module should
> be inside another module, vs. on it's own?
In general, it is recommended to put your own things into a namespace
package. So, instead of writing packages like
foo
bar
you put them in a top-level package, e.g. called 'alecm':
alecm.foo
alecm.bar
That way they won't collide with other packages that might be called
'foo' or 'bar'. The 'zope' package is such a namespace package, for
example. It's not about the Zope application server (that's zope.app)
but just a collection of Python packages from the Zope project.
I try to keep package structures as flat as possible, so I try not to
have any levels below the packages inside the namespace package, except
perhaps 'browser' packages:
alecm.foo
alecm.foo.browser
But not:
alecm.foo.foodetail.browser
> So far, I haven't had any problems with anything I've tried, but I do
> prefer to plan ahead as much as possible.
Planning is ok, but don't get side-tracked too much with organization.
You can always refactor later. Given the right tools (svn is better than
CVS here, for example), it can be much less pain.
Philipp
More information about the Zope3-users
mailing list