123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- ## Perl Critic configuration file
- severity = 1
- verbose = %f %l:%c (Severity: %s)\n %P (%s)\n near '%r'\n%d\n
- program-extensions = .pl .t
- ##
- ## Tune tests
- ##
- [ControlStructures::ProhibitMutatingListFunctions]
- add_list_funcs = Dpkg::Util::any Dpkg::Util::none
- [RegularExpressions::ProhibitUnusualDelimiters]
- allow_all_brackets = 1
- [RegularExpressions::RequireBracesForMultiline]
- allow_all_brackets = 1
- [RegularExpressions::RequireExtendedFormatting]
- minimum_regex_length_to_complain_about = 60
- [ValuesAndExpressions::ProhibitInterpolationOfLiterals]
- # TODO: switch these to q{} ?
- allow_if_string_contains_single_quote = 1
- ##
- ## Disable tests
- ##
- # Complex is not always bad.
- [-BuiltinFunctions::ProhibitComplexMappings]
- # Needed when generating code.
- [-BuiltinFunctions::ProhibitStringyEval]
- # FIXME: Bogus check.
- [-Documentation::PodSpelling]
- # While this might be good for performance, it is bad for keeping docs updated.
- [-Documentation::RequirePodAtEnd]
- # FIXME: Bogus check.
- [-Documentation::RequirePodLinksIncludeText]
- # TODO: Standardize sections, but the ones from this are not usable.
- [-Documentation::RequirePodSections]
- # Too many false positives.
- [-CodeLayout::RequireTidyCode]
- # Forcing this just turns into noise (depending on the context, it makes sense).
- [-CodeLayout::RequireTrailingCommas]
- # These are fine.
- [-ControlStructures::ProhibitCascadingIfElse]
- # These are fine, too many in the code base anyway.
- [-ControlStructures::ProhibitPostfixControls]
- # These are fine, usually as long as they are not double negations.
- [-ControlStructures::ProhibitUnlessBlocks]
- # FIXME: Too many false positives.
- [-ControlStructures::ProhibitUnreachableCode]
- # TODO: Check it out, add new Dpkg::Program module?
- [-InputOutput::ProhibitBacktickOperators]
- # Needed, using <>/<@ARGV> is not correct, Prompt is not a core module.
- [-InputOutput::ProhibitExplicitStdin]
- # TODO: Maybe, some of these are part of the public/current API.
- [-Modules::ProhibitAutomaticExportation]
- # Complex is not always bad.
- [-Modules::ProhibitExcessMainComplexity]
- # FIXME: Too many false positives; non-modules all trigger.
- [-Modules::RequireVersionVar]
- # These are fine.
- [-NamingConventions::ProhibitAmbiguousNames]
- # We work primarily with ASCII, so we need to specify the exact characters
- # to match.
- [-RegularExpressions::ProhibitEnumeratedClasses]
- # When . is used in the code it means what it does.
- [-RegularExpressions::RequireDotMatchAnything]
- # When ^ or $ are used in the code they mean what they do.
- [-RegularExpressions::RequireLineBoundaryMatching]
- # TODO: While valid, these are part of the public/current API.
- [-Subroutines::ProhibitBuiltinHomonyms]
- # Needed.
- [-Subroutines::ProhibitSubroutinePrototypes]
- # Adding these seems like more noise.
- [-Subroutines::RequireFinalReturn]
- # Readers need to know perl, English module is worse.
- [-Variables::ProhibitPunctuationVars]
- # Readers need to know perl.
- [-Variables::RequireInitializationForLocalVars]
- # FIXME: Too many false positives; on ::main and for $ENV, $SIG, $?, $a, $b.
- [-Variables::RequireLocalizedPunctuationVars]
- # Readonly is not a core module.
- [-ValuesAndExpressions::ProhibitConstantPragma]
- # TODO: Check it out, using other quotes might be less readable and uniform.
- [-ValuesAndExpressions::ProhibitEmptyQuotes]
- # Used for help output.
- [-ValuesAndExpressions::ProhibitImplicitNewlines]
- # Octals are fine.
- [-ValuesAndExpressions::ProhibitLeadingZeros]
- # TODO: Check it out, some magic numbers are fine, octals for example.
- [-ValuesAndExpressions::ProhibitMagicNumbers]
- # FIXME: False positives on long hex numbers, even when separated.
- [-ValuesAndExpressions::RequireNumberSeparators]
|