Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Criteria for when to use a cpan module

by stevieb (Canon)
on Feb 02, 2019 at 22:50 UTC ( [id://1229300]=note: print w/replies, xml ) Need Help??


in reply to Criteria for when to use a cpan module

Personally, I keep the mindset at all times that others may want to use the code I'm writing, so I *never* consider what I'm writing as something I'll use only for myself. That 'halves' the problem right there.

The other feedback so far on this thread contains great advice, so I don't want to re-invent the wheel.

If I'm to use one tiny function/method from a distribution that depend on a hundred other distributions, I'll re-write my own, or even copy/paste the part I need (so long as the license blends with mine).

If it's a large dist I want (again requiring many others) where there's a few pieces I need/desire, I might completely rethink my design and work around that situation, if I can't find something smaller and more compact in another dist.

Already been said, but criteria is author, bug fix time, responsiveness of author and/or collaborators, revision history, participation within the Perl community as a whole, and one of the often overlooked things, how large is this distribution I'm publishing to the CPAN... is it small enough that if I avoid a single external distribution I can stick to core? Or is it so large it's going to take 20 minutes to compile and install anyway?

I've always tried my best to stick with core where possible, even if I have to do some extra work to do so. Heck, I still try to make my code work with perl-5.8.9 wherever possible.

ps. Great question.

pss. Oh yeah, nearly forgot: test coverage, and unit test suite quality are extremely high on my priority list when making such a decision.

  • Comment on Re: Criteria for when to use a cpan module

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1229300]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-25 22:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found