Robert Wohlfarth writes:

> I'm weighing 3 ideas...
> 2. Create a top-level namespace for ETL.
> 
> Idea 2 looks like so...
> * ETL
> * ETL::Extract
> * ETL::Extract::Excel
> * ETL::Extract::DelimitedText
> * ETL::Extract::XML
> * ETL::Load
> * ETL::Load::MSAccess

Not necessarily. That would be effectively claiming the ETL:: namespace
is for your suite of modules.

An alternative would be to create the ETL:: top-level namespace and then
put your framework under another level of hierarchy there, leaving space
for other ETL modules to share ETL::. As in:

• ETL::$Brand
• ETL::$Brand::Extract
• ETL::$Brand::Extract::Excel
• ETL::$Brand::Extract::DelimitedText
• ETL::$Brand::Extract::XML
• ETL::$Brand::Load
• ETL::$Brand::Load::MSAccess

— where $Brand is a word/phrase of your choice (either just a fanciful
name you like, or one you think sums up your particular ETL module suite
over other (potentially yet to be written) options.

> #2 is short and sweet. On the downside, acronyms are context
> sensitive.

If potential users of your module are likely to know the term ETL and
that's something they'd search for, then it's still a useful name. That
probably matters more than for somebody outside the field randomly
encountering the name of your module being able to tell instantly what
it's for.

Obviously a name having both of those qualities would be ideal, but at
least somebody who encounters the ETL::Taupe::Extract module can look up
its docs, whereas it'd be sad for a would-be fan of your module never to
learn of its existence.

Smylers
-- 
http://twitter.com/Smylers2

Reply via email to