I am preparing to give a local talk on the topic of Style Guides for large projects. By "large" I mean number of developers, (perhaps >10), as well as code-size. By "style guides" I mean recommended coding practices, not the bigger topic of project management, which I think has been very well discussed in nodes such as this one and books like Code Complete and The Mythical Man-Month.

I've started doing a literature review. Perl being perl, there are at least as many opinions on style as there are perl programmers; starting from perlstyle and Tom C.'s Perl Style guide, and many nodes here, but I have seen little about style guides for large projects, and less on writing a style guide for large projects of one's own.

I have seen many nodes here that recommend using OO perl for projects with many developers. Others here have said that OO perl is a bad design choice for large projects because of OO's relaxed nature; some have recommended not using perl on big projects because developers with no discipline will dirty the code for all. I don't agree with these naysayers. I would like to know if anybody has put all the "good advice" in one place as regards large projects and perl.

I'd also like to look at more large projects themselves, for ideas; I would hope they have all created style guides of their own.

Here's what I've found. Can you add any big projects I should be looking at?

Probably the largest, most complex perl project I know of is Ensembl, an open-source bioinformatics database and genome analysis tool which has been instrumental to the Human Genome Sequencing Project and other projects. They have excellent design and style notes online, and a team of 40 active developers. This is the sort of thing I'm looking for.

I've tried looking into a few projects on Sourceforge. I hit paydirt with Slashcode, whose Slash Style Guide seems like a good document. I looked at POE, but I couldn't find a coding style guide. Can anybody suggest other large projects I should look at, or perhaps style guides you've seen that talk about issues for large projects?

___ -DA $_='daniel@coder.com 519-575-3733 /Prescient Code Solutions/ coder.c +om ';s/-/ /g;s/([.@])/ $1/g;@y=(42*1476312054+7*3,14120504e4,-42*330261-3 +3, 42*5436+3,42*2886+10,42*434987+5);s/(.)/ord(uc($1))/ge;for(@x=split/32 +/; @y; map{print chr} split /(..)/, shift(@x) + shift(@y)) {perlmonk.da.r +u}

In reply to Perl Style Guides for Large Projects by da

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, 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, 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.