380 lines
11 KiB
Plaintext
380 lines
11 KiB
Plaintext
# You may disable specific policies appending the following annotation
|
|
#
|
|
# ## no critic (..., ...)
|
|
#
|
|
# to the corresponding code line. To direct perlcritic to ignore the
|
|
# "## no critic" annotations, use the --force option.
|
|
|
|
# Policies shipped with Perl::Critic 1.125 were considered for the below
|
|
# defintion of the new policy theme "knib".
|
|
|
|
severity = brutal
|
|
theme = knib
|
|
verbose = %f: %m at line %l, column %c. (Policy: %p)\n
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval]
|
|
add_themes = knib
|
|
allow_includes = 1
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitUselessTopic]
|
|
# KNOWN BUGS: This policy flags a false positive on reverse() called in list
|
|
# context, since reverse() in list context does not assume $_.
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap]
|
|
add_themes = knib
|
|
|
|
# 14.01.2016 policy disabled after a discussion with the team
|
|
#[BuiltinFunctions::RequireGlobFunction]
|
|
#add_themes = knib
|
|
|
|
[Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA]
|
|
# Note: Some people prefer parent over base.
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::CodeLayout::ProhibitHardTabs]
|
|
add_themes = knib
|
|
allow_leading_tabs = 0
|
|
|
|
# 14.01.2016 policy disabled after a discussion with the team
|
|
#[Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists]
|
|
#add_themes = knib
|
|
#min_elements = 1
|
|
#strict = 1
|
|
|
|
[Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines]
|
|
add_themes = knib
|
|
|
|
# 14.01.2016 policy disabled after a discussion with the team
|
|
#[Perl::Critic::Policy::CodeLayout::RequireTrailingCommas]
|
|
#add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse]
|
|
add_themes = knib
|
|
max_elsif = 1
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitDeepNests]
|
|
# Martin Fowler's book "Refactoring: Improving The Design of Existing Code".
|
|
add_themes = knib
|
|
max_nests = 5
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions]
|
|
# Read the LIMITATIONS that this policy has.
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode]
|
|
add_themes = knib
|
|
|
|
# Available With Perl::Critic v1.126
|
|
#[Perl::Critic::Policy::ControlStructures::ProhibitYadaOperator]
|
|
#add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Documentation::PodSpelling]
|
|
add_themes =
|
|
# "spell" is the spell checker avalable on our AIX system. The default spell
|
|
# checker "aspell" was not available.
|
|
spell_command = spell
|
|
#stop_words = ...
|
|
stop_words_file = PodSpelling_stop_words.txt
|
|
|
|
[Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName]
|
|
add_themes = knib
|
|
|
|
#[Perl::Critic::Policy::Documentation::RequirePodSections]
|
|
#add_themes = knib
|
|
|
|
# 14.01.2016 policy disabled after a discussion with the team
|
|
#[Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval]
|
|
#add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators]
|
|
add_themes = knib
|
|
# 14.01.2016 policy configuration changed after a discussion with the team
|
|
only_in_void_context = 1
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::InputOutput::RequireBriefOpen]
|
|
# http://www.perlmonks.org/?node_id=1134785
|
|
add_themes = knib
|
|
lines = 9
|
|
|
|
[Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls]
|
|
# Covers the policies
|
|
# Perl::Critic::Policy::InputOutput::RequireCheckedClose and
|
|
# Perl::Critic::Policy::InputOutput::RequireCheckedOpen
|
|
add_themes = knib
|
|
exclude_functions = print say
|
|
functions = :builtins
|
|
|
|
[Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::ProhibitAutomaticExportation]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::ProhibitEvilModules]
|
|
add_themes = knib
|
|
modules = Class::ISA Error Pod::Plainer Shell Switch
|
|
|
|
[Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity]
|
|
# http://en.wikipedia.org/wiki/Cyclomatic_complexity
|
|
add_themes = knib
|
|
max_mccabe = 20
|
|
|
|
[Perl::Critic::Policy::Modules::ProhibitMultiplePackages]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::RequireBarewordIncludes]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::RequireEndWithOne]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::RequireExplicitPackage]
|
|
add_themes = knib
|
|
allow_import_of = utf8
|
|
exempt_scripts = 0
|
|
|
|
[Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Modules::RequireVersionVar]
|
|
# Read the TO DO section of this policy and think about its implication.
|
|
add_themes = knib
|
|
|
|
# Perl::Critic::Policy::NamingConventions::Capitalization
|
|
# It takes some time to configure this policy!
|
|
|
|
[Perl::Critic::Policy::Objects::ProhibitIndirectSyntax]
|
|
add_themes = knib
|
|
# The new() subroutine is configured by default; any additional forbid values
|
|
# are in addition to new().
|
|
forbid = create destroy
|
|
|
|
[Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture]
|
|
add_themes = knib
|
|
|
|
# 14.01.2016 policy still enabled after a discussion with the team
|
|
[Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters]
|
|
add_themes = knib
|
|
allow_all_brackets = 0
|
|
|
|
[Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline]
|
|
add_themes = knib
|
|
allow_all_brackets = 0
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms]
|
|
# Read the CAVEATS.
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity]
|
|
# http://en.wikipedia.org/wiki/Cyclomatic_complexity
|
|
add_themes = knib
|
|
max_mccabe = 20
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef]
|
|
# http://perlmonks.org/index.pl?node_id=741847
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitManyArgs]
|
|
add_themes = knib
|
|
max_arguments = 5
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitNestedSubs]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitReturnSort]
|
|
# KNOWN BUGS: This Policy is not sensitive to the wantarray() function.
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Subroutines::ProtectPrivateSubs]
|
|
add_themes = knib
|
|
|
|
#[Perl::Critic::Policy::Subroutines::RequireArgUnpacking]
|
|
#add_themes = knib
|
|
#allow_delegation_to = SUPER:: NEXT::
|
|
#allow_subscripts = 0
|
|
#short_subroutine_statements = 0
|
|
|
|
[Perl::Critic::Policy::Subroutines::RequireFinalReturn]
|
|
add_themes = knib
|
|
terminal_funcs = return carp croak die exec exit goto throw
|
|
|
|
[Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict]
|
|
add_themes = knib
|
|
allow = refs
|
|
|
|
[Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings]
|
|
add_themes = knib
|
|
allow_with_category_restriction = 1
|
|
|
|
[Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride]
|
|
add_themes = knib
|
|
statements = 3
|
|
|
|
# The following policy seems to have a bug for the ok() test.
|
|
#[Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels]
|
|
#add_themes = knib
|
|
#modules = Test::Exception Test::More
|
|
|
|
[Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals]
|
|
add_themes = knib
|
|
allow_if_string_contains_single_quote = 1
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls]
|
|
add_themes = knib
|
|
max_chain_length = 3
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers]
|
|
# Not yet configured completely.
|
|
add_themes = knib
|
|
# 14.01.2016 2 is considered a magic number as well after a discussion with the team
|
|
allowed_values = -1 0 1
|
|
|
|
# 11.02.2016 policy disabled after a discussion with the team
|
|
#[Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators]
|
|
#add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters]
|
|
add_themes = knib
|
|
back_quote_allowed_operators =
|
|
double_quote_allowed_operators =
|
|
single_quote_allowed_operators =
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion]
|
|
add_themes =
|
|
allow_version_without_use_on_same_line = 1
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators]
|
|
add_themes = knib
|
|
min_value = 10000
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::ProhibitLocalVars]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::ProhibitMatchVars]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::ProhibitUnusedVariables]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::RequireInitializationForLocalVars]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::RequireLexicalLoopIterators]
|
|
add_themes = knib
|
|
|
|
[Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars]
|
|
add_themes = knib
|
|
allow =
|
|
|
|
[Perl::Critic::Policy::Variables::RequireNegativeIndices]
|
|
add_themes = knib
|