Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

Naming things intelligently is hard. It requires a certain genius that frankly I think most people, like myself, lack. I spent a long time agonizing over what to call Data::Dump::Streamer. I eventually went with that name over some strong internal reservations (its too damn long for a utility modules) because a number of folks who i respect quite a bit seemed to favour it. Although a few releases later I added a "psuedo-namespace" to it called DDS, its not listed or registed but can be optionally installed when building DDS. The problem was that most of the Data:: namespace'es useful names are already taken, with a bunch of them taken by fairly poor quality modules. In fact I need to remove Data::BFDump as being obsoleted by Data::Dump::Streamer.

Also I've never understood why that name wasnt registered. Actually, while im not certain of this I have heard that of late very little registration is actually occuring. Perhaps because as you say you represent a SPOF and when you dont have the time the whole process comes to a halt.

The other one that _really_ annoys me is that the vast majority of Tie:: modules are horribly named. They should ALL be named Tie::Type(::Name)+. It seems so silly that there is no easy way to find out what types of tied array you can download for instance. I personally think Tie::Array::PackedC is a much better name than most of the Tie:: namespace. Consider:

# Well named Tie::Array Tie::Array::BoundedIndex Tie::Array::FileWriter Tie::Array::Iterable Tie::Array::Iterable::BackwardIterator Tie::Array::Iterable::ForwardIterator Tie::Array::PackedC Tie::Array::RestrictUpdates Tie::Array::Sorted Tie::Array::Test Tie::Array::Unique Tie::File Tie::Hash Tie::Hash::Abbrev Tie::Hash::Abbrev::BibRefs Tie::Hash::Abbrev::Smart Tie::Hash::Approx Tie::Hash::Array Tie::Hash::Cannabinol Tie::Hash::Constant Tie::Hash::Expire Tie::Hash::FixedKeys Tie::Hash::Indexed Tie::Hash::Interpolate Tie::Hash::Layered Tie::Hash::Longest Tie::Hash::MultiValue Tie::Hash::Rank Tie::Hash::Regex Tie::Hash::Sorted Tie::Hash::Stack Tie::Hash::Test Tie::Hash::Transactional Tie::Hash::TwoWay Tie::Scalar Tie::Scalar::Decay Tie::Scalar::Escaped Tie::Scalar::MarginOfError Tie::Scalar::OK Tie::Scalar::RestrictUpdates Tie::Scalar::RingBuffer Tie::Scalar::Sticky Tie::Scalar::Test Tie::Scalar::Timeout Tie::Scalar::Transactional # not so badly named Tie::FileHandle::Base Tie::FileHandle::Buffer Tie::FileHandle::MultiPlex Tie::Handle Tie::Handle::CSV Tie::Handle::Scalar # outright badly named. Tie::Alias Tie::Alias::Array Tie::Alias::Handle Tie::Alias::Hash Tie::AliasHash Tie::AppendHash Tie::Autotie Tie::CArray Tie::CPHash Tie::CSV_File Tie::Cache Tie::Cache::LRU Tie::Cache::LRU::Array Tie::Cache::LRU::Expires Tie::Cache::LRU::LinkedList Tie::Cache::LRU::Virtual Tie::CacheHash Tie::Cacher Tie::Cfg Tie::CharArray Tie::ClockTimer Tie::Collection Tie::Concurrent Tie::Config Tie::Counter Tie::Coupler Tie::Cvs Tie::Cycle Tie::DBI Tie::DBI::ER Tie::DB_File::SplitHash Tie::DB_FileLock Tie::DB_Lock Tie::DNS Tie::DataUUID Tie::DeepTied Tie::Depth Tie::Dict Tie::DictFile Tie::Dir Tie::DirHandle Tie::Discovery Tie::DiskUsage Tie::DxHash Tie::EncryptedHash Tie::Eudora Tie::FTP Tie::FileLRUCache Tie::Filter Tie::Filter::Array Tie::Filter::Hash Tie::Filter::Scalar Tie::FlipFlop Tie::Folded Tie::Form Tie::FormA Tie::Func Tie::Function Tie::GHash Tie::Google Tie::Gzip Tie::HTML::Entities Tie::HashDefaults Tie::HashHistory Tie::History Tie::InsertOrderHash Tie::IntegerArray Tie::IxHash Tie::IxHash::Easy Tie::LDAP Tie::LDAP::Entry Tie::LLHash Tie::Layers Tie::LazyList Tie::ListKeyedHash Tie::LogFile Tie::MAB2::Dualdb Tie::MAB2::Dualdb::Id Tie::MAB2::Dualdb::Recno Tie::MAB2::Id Tie::MAB2::Recno Tie::MAB2::RecnoViaId Tie::MLDBM Tie::MLDBM::Lock::File Tie::MLDBM::Lock::Null Tie::MLDBM::Serialise::Storable Tie::MLDBM::Store::DBI Tie::MLDBM::Store::DB_File Tie::Math Tie::Mem Tie::Memoize Tie::MmapArray Tie::Mounted Tie::Multidim Tie::NetAddr::IP Tie::NormalArray Tie::NumRange Tie::OffsetArray Tie::OneOff Tie::Parent Tie::PerFH Tie::PerfectHash Tie::Persistent Tie::Pick Tie::Proxy::Hash Tie::PureDB Tie::Quick Tie::RDBM Tie::RDBM::Cached Tie::RangeHash Tie::RefHash Tie::RegexpHash Tie::Registry Tie::RemoteVar Tie::RemoteVar::Callback Tie::RemoteVar::Constant Tie::RemoteVar::Tie Tie::Restore Tie::RevHash Tie::RevRefHash Tie::RndHash Tie::STDERR Tie::SecureHash Tie::SentientHash Tie::ShadowHash Tie::ShiftSplice Tie::Simple Tie::Simple::Array Tie::Simple::Handle Tie::Simple::Hash Tie::Simple::Scalar Tie::Simple::Util Tie::Slurp Tie::SortHash Tie::Static Tie::StrictHash Tie::SubstrHash Tie::Sysctl Tie::Syslog Tie::Table Tie::TextDir Tie::TieConstant Tie::TieDict Tie::Tk::Listbox Tie::Toggle Tie::Tools Tie::TransactHash Tie::TwoLevelHash Tie::URI::Escape Tie::UrlEncoder Tie::VecArray Tie::WarnGlobal Tie::Watch

Pretty much none of that last part of the list should have been registered IMO. I suppose its arguable that the ones _ending_ in 'Type' should be in the "not so badly named", but IMO they are just as bad. And there are probably a few in there that cant be better named because they have some special extra property, but even still I think the namespace is a just a big mess.


---
demerphq

    First they ignore you, then they laugh at you, then they fight you, then you win.
    -- Gandhi



In reply to Re: Regrettable module names by demerphq
in thread Regrettable module names by brian_d_foy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others romping around the Monastery: (5)
    As of 2015-07-04 02:12 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (57 votes), past polls