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
you put them in a top-level package, e.g. called 'alecm':
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:
> 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.
Zope3-users mailing list