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