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

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to