<?xml version="1.0" encoding="windows-1252"?>
<node id="209555" title="Perl Style Guides for Large Projects" created="2002-10-31 17:33:58" updated="2005-08-12 12:45:55">
<type id="120">
perlmeditation</type>
<author id="79656">
da</author>
<data>
<field name="doctext">
I am preparing to give a &lt;a href="http://kw.pm.org/"&gt;local talk&lt;a/&gt; on the topic of
Style Guides for large projects.  By "large" I mean number of developers, (perhaps &gt;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 [144745|this one] and books 
like Code Complete and The Mythical Man-Month.
&lt;P&gt;
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 &lt;a href="http://www.perl.com/language/style/slide-index.html"&gt;Tom C.'s Perl Style guide&lt;/a&gt;, and [48891|many] [127201|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.
&lt;READMORE&gt;
&lt;P&gt;
 I have seen many nodes here that recommend using OO perl for projects with many
developers. [48891|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.  
&lt;em&gt;I don't agree with these naysayers&lt;/em&gt;.  I would like to know if 
anybody has put all the "good advice" in one place as regards large projects 
and perl.
&lt;P&gt;
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.
&lt;P&gt;
Here's what I've found.  Can you add any big projects I should be looking at?
&lt;P&gt;
Probably the largest, most complex perl project I know of is 
&lt;a href="http://www.ensembl.org/"&gt;Ensembl&lt;/a&gt;,
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 &lt;a href="http://www.ensembl.org/Docs/wiki/html/EnsemblDocs/EnsemblSoftwareDesign.html"&gt;design&lt;/a&gt; and &lt;a href="http://www.ensembl.org/Docs/wiki/html/EnsemblDocs/CodingStandards.html"&gt;style&lt;a&gt; notes online, and a team of 40 active developers.  This is the sort of thing I'm looking for.
&lt;P&gt;
I've tried looking into a few projects on Sourceforge.  I hit paydirt with Slashcode, whose &lt;a href="http://slashcode.com/docs/slashstyle.html"&gt;Slash Style Guide&lt;/a&gt; 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?

&lt;P&gt;&lt;font color=#999999&gt;&lt;code&gt;___
-DA

$_='daniel@coder.com 519-575-3733  /Prescient Code Solutions/  coder.com
';s/-/ /g;s/([.@])/ $1/g;@y=(42*1476312054+7*3,14120504e4,-42*330261-33,
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.ru}
&lt;/code&gt;&lt;/font&gt;
</field>
</data>
</node>
