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??

hornpipe2:

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.

...roboticus

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


In reply to Re: Thoughts on "one function, flexible arguments"? by roboticus
in thread Thoughts on "one function, flexible arguments"? by hornpipe2

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 about the Monastery: (3)
As of 2024-04-25 22:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found