[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