Trans wrote: > Like to know others general opinions on having a comprehensive library > vs. independent libraries. > > In my quest to make Facets' functionality available in some smaller > parts, I am left with hard choice. I think of it as the DHH vs. WHY > style question, b/c these two well known developers most clearly > reflect the approaches in their work. For DHH (ie. Rails) we have a > number of libs with closely labeled packages: ActionPack, > ActionMailer, ActiveSupport, ActiveRecord, etc. While _why's libs all > have highly independent packaging with clever names: Markaby, Hpricot, > Syck, etc. Now, I realize that different circumstances have certainly > led to this, eg. Rails is meant as a single comprehensive web- > framework, while Why's packages are more unique and reflect his > exceptional creatively, but either could have taken the other approach > if they so wished. And in my case (and surely some other large > projects as well), the distinction is not as straight forward. > > So my question is, which is preferable? What criteria should one base > this decision on? > > To clarify here is my specific scenario. I've narrowed it down, more- > or-less, to these Whyish vs. DHHish possibilities: > > Aces Facets/CORE > Jacks Facets/BASE > Tapestry Facets/AOP > Comrade Facets/CLI > Fileside Facets/FS > Annote Facets/ANN > > A couple of the names I'm not 100% sure about yet, but you get the > idea. I've been thinking about this a long time and haven't been able > to decide what direction to take for future development. It's most > significant impact, I suppose, is to the require namespaces ('facets/ > aop/' vs. 'tapestry/' for example). The only other solid difference I > have found between them is that some libs don't mesh well with the DHH > style so those need to be completely separate anyway (for instance, my > modified redistribution of HTTPAccess2). > > Thanks for any insights, > T. > What about putting your colorful names inside of generic namespaces? aop/tapestry cli/comrade file/fileside text/annote (?) This scheme retains distinctiveness, but also communicates the general purpose of a library: when we see "require 'cli/comrade'" at least we know it has something to do with command line processing, and not proletarian uprising. Or, if you really want the facets brand: "cli/comrade-facet". But these longer names hardly roll of the tongue... -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407