FWIW I'll chime in with my US$0.02 worth....

The answer is: it depends. I've seen some extremes here in my travels about the industry. In one shop I worked in my job was to take the code that "low talent" programmers wrote and make it actually work. They had lots of helper code out there to help them to the point that all they really needed to do was cut/paste and put in some glue code to produce a working application. In spite of that they failed to produce working code about half the time and code that behaved in expected ways about 60% of the time and nearly all if it had bugs and/or security holes big enough to drive an SUV through.

Another shop I worked in had their data objects, stored procedures and such all well defined in an API such that writing code there from inception to working prototype had a very short time frame. Given the business environment this gave the company a very huge competitive edge that they leveraged off of every chance they got.

Yet another shop it was every person for themselves and each developer had a piece of the project and worked on it independantly with no one person driving the overall design. The term "1000 monkeys with typewriters attempting to produce Shakespere" used to run through my mind there constantly. As can be expected they had issues itegrating the individual modules that each developer was developing independantly from the other and getting the end (?) product to work.

So... the official answer is: it depends.

Whatever helper functions get developed need to fit within an overall architecture and need to be well documented.

Code specifications, having an overall code architect that sets direction, peer review and taking care to develop helper functions that are well documented, flexible, can be extended without modifying the "original" and taking care not to go too overboard that you squelch creativity as well as flexibility in your development environment.

See above. I have worked places where there was too much rigidity to the point where I had to get all sorts of sign offs and go through bureaucratic hoops to introduce a new Perl module either from CPAN or of my own authorship to places where it was total anarchy. Neither extreme makes sense. Finding the "sweet spot" requires effort up front and constant review and an occasional reality check to make sure your not going too far or being too lax.

Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

In reply to Re: Helpers Vs. Hurters by blue_cowdawg
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.