Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
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

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!
  • 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
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others having an uproarious good time at the Monastery: (14)
    As of 2014-10-23 10:30 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      For retirement, I am banking on:










      Results (125 votes), past polls