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

Re: Thoughts on "one function, flexible arguments"?

by roboticus (Chancellor)
on Aug 29, 2019 at 12:51 UTC ( #11105234=note: print w/replies, xml ) Need Help??

in reply to Thoughts on "one function, flexible arguments"?


If you feel compelled to give it a go, you might try Kevorkian* as daxim mentioned, or Params::Smart that davido suggested, as one of these could remove a lot of the complexity from your functions. (I've never used them but may try 'em out of curiosity.)

Having said that, though, I'm going ring in with agreement with GrandFather and davido on this one: While having some flexibility in the arguments can be a good thing, it's easy to go too far. I've seen issues where (a) you get few/no users of one calling method, (b) extra difficulty in sussing out what change(s) you may need to make when you take all the calling conventions into account, (c) maintaining of code that's never even used, (d) the flexibility adds rather than removes confusion to users.

(*) Sorry for that, but it's the first thing that came to mind when I saw daxim's response.


When your only tool is a hammer, all problems look like your thumb.

  • Comment on Re: Thoughts on "one function, flexible arguments"?

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2020-11-27 16:46 GMT
Find Nodes?
    Voting Booth?

    No recent polls found