At my company, we were on the verge of hiring a particular programmer. I wasn't too fond of the guy, but his code looked okay. My boss thought he was great and since I was willing to sign off on his code, he was probably going to get offered the job.

He was still bugging me, though. There were a few things about his code that just didn't belong there and I was struggling to figure out how someone who clearly knew Perl had such obvious pieces of cruft in his code. Some of it was a useless "ref $proto or $proto" line in a constructor. Some of it was an AUTOLOAD function that allowed the programmer to create accessors and mutators from object properties that didn't always exist. It was confusing.

Then we got lucky. Perhaps he was afraid he wouldn't get the job, but he followed up with another code sample. It was also good code, but it had the exact same problems as the first code sample he sent. That's when I realized what was going on. I knew some people at his previous company and made some calls. I was right. This guy was using code templates and just blindly followed them. The templates provided a generic constructor and AUTOLOAD. Rather than thinking about what he was doing, he was just blindly following orders.

No offense, but your code template would be horribly inadequate for a template for me. What about warnings? What about taint checking? What if I'm running under mod_perl and need to use the OO CGI interface (you mostly use that, but you have ":standard" in your import list).

There may be acceptable code templates out there and I'm not opposed to them, per se, but they should be used with thought and caution.

Cheers,
Ovid

New address of my CGI Course.
Silence is Evil (feel free to copy and distribute widely - note copyright text)


In reply to Re(2): guidlines/rules (Don't use code templates!!!) by Ovid
in thread Perl Programming guidelines/rules by hakkr

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.