Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Naming a module that handles SIP2

by gmcharlt (Novice)
on Jul 29, 2014 at 16:39 UTC ( [id://1095504]=perlquestion: print w/replies, xml ) Need Help??

gmcharlt has asked for the wisdom of the Perl Monks concerning the following question:

I'm one of the folks who hacks on a set if modules that handles a protocol used by libraries called SIP2 (not to be confused with the telephony protocol). The modules uses Net::Server.

Currently, the modules are used by one project, and a fork of them are included in another. We're planning on folding the fork back in and making the modules suitable for submission for CPAN. One issue: the modules names, "ILS" and "Sip", are clearly unsuitable.

I'd like advice on what to rename the module to. Net::SIP2::Server? Net::3MSIP2::Server? (The "3M" bit comes from the name of the company that started the protocol). Library::Net::SIP2?

If you're curious, the code can be found here:

http://git.evergreen-ils.org/?p=working/SIPServer.git;a=summary

Replies are listed 'Best First'.
Re: Naming a module that handles SIP2
by RonW (Parson) on Jul 29, 2014 at 17:01 UTC

    Since this SIP2 has nothing to do with the more commonly known SIP, maybe Net::Protocol::SIP2_3M::Server

    Note that all parts of a package name must be valid Perl identifiers. 3MSIP2 is not be cause identifiers must start with a letter or an underscore. Exception: Variable names may be all numeric digits, for example $1. Caveat: Variable names that are all digits are used by the regex expression match capture feature so there is a risk of their values being overwritten by the regex engine.

Re: Naming a module that handles SIP2
by MidLifeXis (Monsignor) on Jul 29, 2014 at 16:43 UTC

    Perhaps LibraryBiblio::Protocol::SIP2 or Protocol::SIP2 would be appropriate? You may also want to ask on PrePAN.

    Update: s/Library/Biblio/, per AM and jhourcle recommendations below. Perhaps s/Protocol/Net/, but I am not sold on that, for the same arguments that are made in favor of Net.

    --MidLifeXis

Re: Naming a module that handles SIP2
by AppleFritter (Vicar) on Jul 29, 2014 at 16:51 UTC

    Keep in mind that this is just my opinion and that I've got literally zero experience with naming CPAN modules...

    First of all, I'd advise "Net::3MSIP2::Server". It doesn't roll of the tongue nicely, and the fact that the protocol was created by 3M is largely irrelevant in practice. "Library::Net::SIP2" would work, but I think there's potential for confusion there: when you don't already know SIP2 is used by actual libraries, "Library"'d make you think that the module is a wrapper for a library in the computing sense, say libsip2 or libnetsip2, whatever that might do. Well, it sure would make me think that, at least!

    I think "Net::SIP2::Server" is a good name; it avoids all these problems and immediately tells you what you need to know about the module: it's for network communication; specifically, it's for a protocol/service/... called SIP2; and even more specifically, it's for writing a SIP2 server. You don't need to know anything about the protocol or its applications to be able to tell.

    (BTW, regarding the "Server" bit -- that's obviously just my interpretation, but I take it the module is for building a SIP2 server, right? If not, I'd obviously suggest naming it something else, say "Net::SIP2" if it's generic code intended for use by both clients and servers, or if the SIP2 protocol itself doesn't distinguish between clients and servers.)

      The library community has been a habit of putting modules in Biblio rather than 'Library', to deal with the ambiguity of that term.

      The PAUSE recommendation is to ask local community groups, but I'd actually suggest asking this among a topical community on the perl4lib mailing list, and possibly also make an announcement on the code4lib mailing list when it's released.

Re: Naming a module that handles SIP2
by 1s44c (Scribe) on Jul 30, 2014 at 07:15 UTC

    How about anything that doesn't include 'SIP'? SIP is a hugely popular protocol. Every single person that sees this will think this is either a new version of the media protocol or a new version of a module to handle that protocol. 3MSIP might be OK.

    As this is a protocol used in libraries (physical book repositories) I wonder if Library::3MSIP would be OK in this case?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1095504]
Approved by AppleFritter
Front-paged by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2024-04-18 11:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found