I've never thought maintenance programmers should be the least experienced ones. It's not so much experience but temperment that divides people into which phase they work in, I think, although no one seems to think about that when making the assignments.

I've been at a few places that get nervous when they look at my code and see a lot of map statements. I don't tend to write dense code, so it's not that they can't pick out the flow. They just don't map yet. However, I'm not going to give it up. For the money I get paid, they should use all my skills. Otherwise they could hire at the same price three guys who don't know map.

There are things that I just don't use for client work: source filters, Spiffy, typeglob magic, odd B hacking, and so on. That stuff is a little much to ask of the typical Perl programmer who's just doing his day job (instead of someone like me who writes about Perl, publishes a magazine about it, and works with Randal).

In all of this, people need to develop good reading habits in themselves and the people they have to work around. Some places I've worked even have a "team library" with all the right books (with several copies in some places). If you run into something you don't know, pull out the Camel book and learn about it. Write a couple of dinky scripts to play with that feature without worrying about making it work in a big program that has sorts of other (broken) things going on. Don't get turned off because it seems weird at first. Everything seems weird at first.

Along with that, we encourage people to develop a style guide, and talk about hwo they are going to code. This can include the features they are not going to use along with a justification for it (since they'll have to explain it to every new person anyway). Often, there isn't any good reason other than FUD, and the exercise of writing it out usually makes them realize that.

In the end, if we are going to code to the lowest common demoninator, we can get rid of strict, lexicals, and subroutines. :)

--
brian d foy <bdfoy@cpan.org>

In reply to Re: "advanced" Perl functions and maintainability by brian_d_foy
in thread "advanced" Perl functions and maintainability by geektron

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.