App-DocKnot

 view release on metacpan or  search on metacpan

t/data/perlcriticrc  view on Meta::CPAN

# that confusing.
#
# This should be Community::EmptyReturn, which is the new name of the module,
# but currently ignores have to use the Freenode::EmptyReturn name instead.
[-Community::EmptyReturn]
[-Freenode::EmptyReturn]

# This recommends using given/when, but Perl has marked those as experimental
# and cautions against using when.
[-ControlStructures::ProhibitCascadingIfElse]

# Stanford's coding style allows postfix unless for flow control.  There
# doesn't appear to be any way to allow it only for flow control (the logic
# for "if" and "when" appears to be special-cased), so we have to allow unless
# globally.
[ControlStructures::ProhibitPostfixControls]
allow = unless

# This is handled with a separate test case that uses Test::Spelling.
[-Documentation::PodSpelling]

# The POD sections Perl::Critic wants are incompatible with the POD template
# from perlpodstyle, which is what I use for my POD documentation.
[-Documentation::RequirePodSections]

# This problem was fixed in Perl 5.14, which now properly preserves the value
# of $@ even if destructors run at exit from the eval block.
[-ErrorHandling::RequireCheckingReturnValueOfEval]

# The default of 9 is too small and forces weird code contortions.  After some
# experimentation, I've never found this helpful in driving useful refactors.
[-InputOutput::RequireBriefOpen]

# This is correct 80% of the time, but it isn't correct for a lot of scripts
# inside packages, where maintaining $VERSION isn't worth the effort.
# Unfortunately, there's no way to override it, so it gets turned off
# globally.
[-Modules::RequireVersionVar]

# This sounds interesting but is actually useless.  Any large blocks of
# literal text, which does not add to the complexity of the regex, will set it
# off.
[-RegularExpressions::ProhibitComplexRegexes]

# Produces false positives currently with postfix dereferencing (introduced in
# Perl 5.20).  See https://github.com/Perl-Critic/Perl-Critic/issues/578.
[-References::ProhibitDoubleSigils]

# Five arguments to a method has seemed reasonable at least once: a pair of
# input file data and path, a pair of output file descriptor and path, and
# a dict of additional arguments.
[Subroutines::ProhibitManyArgs]
skip_object = 1

# I generally don't want to require Readonly as a prerequisite for all my Perl
# modules.
[-ValuesAndExpressions::ProhibitConstantPragma]

# A good idea, but there are too many places where this would be more
# confusing than helpful.  Pull out numbers if one might change them
# independent of the algorithm, but don't do so for mathematical formulae.
[-ValuesAndExpressions::ProhibitMagicNumbers]

# This has never triggered on anything useful and keeps telling me to add
# underscores to UNIX timestamps and port numbers, which is just silly.
[-ValuesAndExpressions::RequireNumberSeparators]

# IO::Uncompress::Gunzip puts the error message in a package variable.
# Text::Wrap has a broken interface that requires use of package variables.
# YAML::XS also cannot be configured without package variables.
[Variables::ProhibitPackageVars]
add_packages = IO::Uncompress::Gunzip Text::Wrap YAML::XS

# use English was one of the worst ideas in the history of Perl.  It makes the
# code slightly more readable for amateurs at the cost of confusing
# experienced Perl programmers and sending people in futile quests for where
# these magical global variables are defined.
[-Variables::ProhibitPunctuationVars]



( run in 3.611 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )