http://www.perlmonks.org?node_id=477102


in reply to Perl Best Practices

As I mentioned, there were a few stylistic guidelines that I don't adhere to; none of them strike me as flat-out wrong, but I've chosen to do things differently.

For amusement value only, here's a list of things I'd do differently that I noticed while reading through today, mostly from the first few chapters:

For the more contentious suggestions, Damian does a good job of laying out the various pro and con arguments, so it's easy to see how a development team could use this this text as the basis of their style discussions and end up with a document that says "use the PBP style except for the following 5-10% set of local differences".

Replies are listed 'Best First'.
Re^2: Perl Best Practices
by PetaMem (Priest) on Mar 22, 2009 at 09:18 UTC

    These diffs are about the same we used to have in our coding guidelines in pre-PBP times. We abandoned them in favour of PBP.

    The cuddled else/elsifs and 2-column indentation surely give you a more dense code - you see more "at a glance". But whether it is increasing age or increasing display resolution (increasing dpi as display sizes in notebooks remain quite the same) or both: believe me, having dense perl code on 140dpi+ with 6x13 font and folding on gives you more code "at a glance" you probably can handle.

    What we have learned from PBP is, that it's not perfect. Contextual::Return has its problems with other recommended modules. I'm also missing a clear statement from the Damian about how future-proof the usage of Class::Std really is (in the light of it's flawed maintenance and in light of Moose). Never got any answer to that.

    But other than that, we also have learned, that adhering to some guideline in PBP - even if you do not agree with it - is often the better choice, because the odds you being right and PBP being right are in favour of PBP and, as other people might have thought of other guidelines of their own to be superior to those of PBP, you again end up with a bunch of homebrew codebases.

    Therefore, using Perl::Critic/perlcritic with defaults on -3, trying -2 on own code.

    Bye
     PetaMem
        All Perl:   MT, NLP, NLU