|Think about Loose Coupling|
Re^11: Order in which grep/map receive elementsby BrowserUk (Pope)
|on Oct 07, 2012 at 11:29 UTC||Need Help??|
then i would make my code bigger (and hence harder to maintain) without reason.
Sorry, but that is a crock. Ie. a spurious justifiction.
Whenever you use a library, you add its entirety to your codebase. If you get a bug as a result of a maintenance change in that library, or interaction between a change in your application(s) and that library, it is you that will have to track it down; as often as not it is you that will have to provide a patch before it will get fixed; and in the interim, it is you that will need to provide a workaround in your application to get past it -- even if that just means reverting to an older release; and adding code to detect if your users have the newer breaking version installed.
And not just its functions you use either. But also all of its functions you do not use and all of their dependencies. In the case of List::MoreUtils that includes these 40 modules; not to mention the C compiler and all of its libraries, tools and other paraphernalia.
Sounds quite sad. Why have such large amount of libs if you are afraid to use them?
I'm not afraid to use them; nor am I advocating that you should not. I'm not afraid, because I do not infer guarantees where none exists.
CPAN modules are peoples best-efforts developments, freely shared with us on a "if its useful, use it" basis. Only.
My caution to you is against inferring guarantees were none exist and then basing your development and maintenance strategy upon that.
Your own five-line function -- derived from tested code in a well used module -- is far less risk of becoming a maintenance problem in both the short and long term; than the near 2000 lines of code you need to add to your codebase in order to use those 3 lines that you need from List::Moreutils.
That is still not advocation for you not to use the module; just do so for the right reasons; not wholly specious ones.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.