Would it be unreasonable to offer both approaches, the individual functions as well as the 'do-all' approach?

Specifically, in my case, I will be adding data to the internatl structure by a function "add_data_point", which is explicit in what it takes such that it could be prototyped. ($$;$% for example). I could then define various functions "add_data_from_TYPE", TYPE being replaced by what method of data storage I would expect there (hash of hashes, array of hashes, etc). Each function would call add_data_point repeated to add the data to the internal storage in the appropriate manner. This would provide the consistent interface for the API. Again, these functions could be prototyped without problems. I could then provide one last function "add_data", which would do the checks that I suggest in the root node of this thread, and then call out to the specific "add_data_from_TYPE" calls depending on the type of structure. This provides more of the "intelligent" interface for the API, without adding a lot of extra code.


Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain

In reply to Re: Re (tilly) 1: Complexity of API argument passing by Masem
in thread Complexity of API argument passing by Masem

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.