Interesting viewpoint, A coder can only really be expected to understand and manage a finite number of lines of code.

So having abstracted the Programmer interfaces, which your helper functions really are will definitly help to limit your universe of code. As you point out this is espcially useful if the underlying implementation is some low level black magic that nobody needs to worry about. So generally if your helper functions relate to 3rd party libraries that you will not or cannot modify then you are ok.

For example I use many cpan modules and am lazy in that I have no clue how most of them work under the hood. If I tried to understand them all my brain would surely explode.

Now if I did have a problem or want to extend a cpan module I would check out the documentation/POD for it and speak to my colleagues, failing them then the author.

The same applies to you internally make sure these utility modules are well documented so that any coder can look into them.

As for what is in the modules it is a case of the level of control required and the amount/quality of each api exposed. Consider for your business and your programmers skill set which parts of the code are most important, sounds like you work with xml so maybe ensure all you coders know the basics of cpan xml modules


In reply to Re: Helpers Vs. Hurters by hakkr
in thread Helpers Vs. Hurters by BaldPenguin

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.