Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://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

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-03-28 21:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found