Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
If you had a need and fulfilled it in a way that can be encapsulated, then go ahead and put it up on CPAN. But a couple of things to note.

If you take the dominant and most obvious name for a particular idea, people are going to find you the most often when they are looking to solve the same problem.

This means your module is gradually going to become the authorative module on the topic, and any time you want to modify it, you are going to have support issues with the current users. Since we don't yet have a workable CPAN Statistics capability, this means that after a while (I normally set it at around 3 months) you have to take the attitude that you now have "users" and if you change stuff, it could break their applications.

So while you should by all means put it up, you should go over the design a couple of times and be 100% sure of yourself that

1. The basic design is correct.
Should it be OO or procedural, what sort of parameter and return value conventions should be used, are any major perl modules you use the best one for the job.

2. The API is both correct and extensible.
If you have bugs or sub-optimal stuff happening behind the scenes, you can always fix it, but you may well be stuck with the API FOREVER (or at least for a very long time, note that it can take 5 years to fully deprecate a function and remove support for it)

Are the class and method names the right ones? If you are only providing a very limited set of functions, can you see where you or someone else would be able to add other things later?

Take your time to get the design and API and any other interfaces right because it's painful to change. The code, well you can stuff with that all you like.

When the time comes to upload and take a piece of the namespace (the only limited resource CPAN has) you want to be 99% certain it's going in the right place.

If you want to upload experimentally, make sure to use a 0.00_01 type version so everyone/everything/everycode is aware it is not a "real" release.

I am by no means trying to dissuade you from uploading, I think what you have is perfect for turning into a module, I'm just suggesting not to rush to upload in an off-hand way just because you can.

In reply to Re: Module advice: when is it too insignificant to release? by adamk
in thread Module advice: when is it too insignificant to release? by jplindstrom

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!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others having an uproarious good time at the Monastery: (5)
    As of 2018-06-23 12:28 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (125 votes). Check out past polls.