Hey, Perl::Critic has not been reviewed for quite a while...
Finally take the plunge (again) to include Perl::Critic in my development work, this time adding critic test in the Dist::Zilla release process. Already caught a couple of stupid bugs otherwise uncaught by perl's -w. Aside from that, will help you become more consistent and a better (Perl) programmer. Invaluable!
I've found Perl::Critic an invaluable tool with legacy code - making it very easy to focus down on trouble spots that need immediate attention.
Trivially customisable to make it only complain about the things I care about. Large library of policies on CPAN so I mostly can just pick and choose without having to write my own. Nice API for those few times when I do have to code something myself.
Been an essential part of my toolkit for some time.
I'm spefically reviewing the documentation and utilities for becoming a Policy developer.
The documentation is clear and concise, and gets a budding Policy writer up to speed in short order.
Further, the testing utilities make adding additional test cases for policies under development are really cool too - the format of the /run tests takes a little getting used to - but once that's under your belt, the tests flow off your fingers faster than you could've manually only updated your test plan.
What a great tool! Not only was I able to tweak its settings to get it to help me write code the way *I* wanted to write it, but then it was really easy to write my own plugins to test for things that configuration alone could get me.
Using Perl::Critic to enforce (or at least audit) your organization's coding guidelines is a great idea, and it's pretty darn good for personal use, too.
This goes out to all modules like Test::Warnings, Test::Strict, Test::Spelling, etc, but is focused at Perl::Critic directly. These tools are invaluable to me as a perl developer. I tell them how I expect myself and others to code in my dists, and Perl::Critic keeps me honest about those things. Sometimes I'm just lazy. Sometimes I just forget. Perl::Critic is neither.
Perl-Critic is a source code analyzer that judges your code by the standards set by Damian Conway's book "Perl Best Practices". I tried it on one of my modules (via perlcritic `find lib -name '*.pm'`) and found all of the advice to be good with one exception (already reported to rt.cpan.org).
My one main complaint:
* There should be a little more explanation for the criticisms. Granted, the module does state page numbers for Damian's book, but some of the criticisms forced me to look at the code to understand why it was complaining (e.g. the noisy quoted string complaint). Perhaps a verbose mode to describe the criticism more deeply, or a DIAGNOSTICS section in the POD to detail all of the warnings
I encourage someone to write Test::Perl::Critic or perhaps to add a Module::Build perlcritic action!