Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: "Vanity Tagging" on CPAN?

by rjbs (Pilgrim)
on Sep 16, 2004 at 11:17 UTC ( #391413=note: print w/replies, xml ) Need Help??

in reply to "Vanity Tagging" on CPAN?

When I see BUU::IRC, I think, "I wonder what BUU is. Why do people want to connect it to IRC?"

Sure, as someone said, you're creating some kind of connection between you and your module. Very few people will understand that, though. Even if it was abundantly clear, it would be redundant. Your modules are already stored under your name, and with your name plastered all over them. No one is going to say, "Finally! I can be reminded of the author's name every time I C<use> his code!"

Find something descriptive. How does your code improve on Net::IRC? Is it faster (Net::IRC::Fast)? Is it easier to use (Net::IRC::Simple)? Is it just an alternate take (Net::IRC::Neo).

Your code deals with IRC. IRC is a network protocol. Your code belongs under Net::IRC.

Replies are listed 'Best First'.
Re^2: "Vanity Tagging" on CPAN?
by BUU (Prior) on Sep 16, 2004 at 21:45 UTC
    Find something descriptive. How does your code improve on Net::IRC? Is it faster (Net::IRC::Fast)? Is it easier to use (Net::IRC::Simple)? Is it just an alternate take (Net::IRC::Neo).
    My problem with that suggestion is I think nicely stated by sintadil:
    Considering the flakiness and oft brokenness of Net::IRC (and the very admission of its author of these points), I'd completely avoid anything containing that. People are weird creatures, and they often associate bad things with an object just by appearances. If someone feels (like I do) that Net::IRC is broken, and sees "Net::IRC" in your module name(s), that someone will probably think that your module is broken in the same way(s) -- and thus they'll avoid it. It's regrettable, but it is human nature.
    Since, hypothetically, my module has nothing at all to do with Net::IRC in any shape or fashion, other than filling some of the same niche, I really don't want to be associated with it in the manner that Net::IRC::<anything> would give me. Also as rcaputo points out:
    POE components tend to have "POE" in their names because they don't live separate lives from that framework. The implication is "You need POE to use this." In that vein, BUU::IRC implies that some BUU module is necessary to use it.
    So Net::IRC::<anything> seems to imply that some Net::IRC module is necessary to use it. Which wouldn't be true. I guess my best solution is to simple find a new name below net, Net::FrameworkIRC or something similiar, but those are the reasons I don't want to be under Net::IRC.

      If you feel Net::IRC::* is not appropriate for your module because yours is more of a framework, how about taking a page from Simon Cozens' book and create an altogether different moniker that while abstract, would be descriptive of the framework as a whole? For example, "Maypole" is his name for his application framework -- see this weblog nicely outlining the reasoning behind the naming:

      Update: revised to better indicate that I meant an abstract name.


        Please don't do this -- see ruby for the reason why. Say I want to do X in Perl. I head over to search.cpan and look for the word X, and odds are good that I'll turn up the relevant modules, because "X" appears in their names (with POE, PDL, and Maypole being notable, and annoying, exceptions). Now say I want to do X in ruby. Odds are good that ruby's X-module won't have "X" in its name, but will be named something obscure and "clever", so should I be looking for "Floozy"? "Bogey"? "Droopy"? How many of you have discovered a standard Unix command to do something after having written an inferior replacement yourself, because you never would have guessed its cryptic name? CPAN works because I can find a module based on what it does, without some other resource mapping functions to names.

      I have to say I've never felt the need to connect to IRC, but ... if the module is broken, everyone knows it's broken, even the author knows its broken ... why doesn't anyone fix it? And if the interface just feels wrong (too lowlevel or something) then Net::IRC::Simple sounds like a good match. Even if behind the scenes the old Net::IRC module is scraped and replaced by a wrapper that calls your Net::IRC::Simple.

      You seem to be overly worried of getting associated with Net::IRC, let me tell you something, not once, but quite a few times did I have to explain to people that Win32::Daemon::Simple is not a module that'd stand on its own, but a wrapper over Win32::Daemon. That they can't have Win32::Daemon::Simple without installing Win32::Daemon first. Looks like they did not think Win32::Daemon::Simple is a subclass.

      Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
         -- Rick Osborne

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://391413]
and monks are getting baked in the sun...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2017-11-19 03:51 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (278 votes). Check out past polls.