1
# This is the Perl::Critic policy file for Padre.
3
# The general rule here is to only add one rule at a time to this file,
4
# and generally only in situations where we will not generate many false
5
# positives (requiring spammy # no critic entries) and where we will not
6
# generate cargo cult behaviour in contributors.
8
# For example, using the ProhibitExcessComplexity policy would be a BAD idea
9
# for Padre, because many of the classes that represent Wx widgets and
10
# dialogs need to have large (and sometimes complex) constructors.
11
# Prohibiting complexity results in "Bulldozing" behaviour, where arbitrary
12
# chunks of constructors get removed and put in _setup_whatever methods.
13
# The constructor is now just as complex as it always was, except that now
14
# the code is scatterred all over the file and it is even harder to maintain
15
# than it was in one big method.
23
######################################################################
24
# Disabling critic sucks, configure a better policy
26
[Miscellanea::ProhibitUnrestrictedNoCritic]
29
[Miscellanea::ProhibitUselessNoCritic]
36
######################################################################
37
# Temporarily downgraded as the noise obscures more important tests
38
[Subroutines::RequireFinalReturn]
41
[Subroutines::RequireArgUnpacking]
44
[Subroutines::ProhibitBuiltinHomonyms]
47
[Modules::ProhibitAutomaticExportation]
54
######################################################################
55
# Policies that Padre disagrees with or tolerates as worth the risk
57
[-BuiltinFunctions::ProhibitStringyEval]
58
[-ClassHierarchies::ProhibitExplicitISA]
59
[-CodeLayout::ProhibitHardTabs]
60
[-ControlStructures::ProhibitUnlessBlocks]
61
[-Subroutines::ProhibitExplicitReturnUndef]
62
[-TestingAndDebugging::ProhibitNoStrict]
63
[-TestingAndDebugging::ProhibitNoWarnings]
64
[-ValuesAndExpressions::ProhibitConstantPragma]
65
[-ValuesAndExpressions::ProhibitMixedBooleanOperators]
66
[-Variables::ProhibitPunctuationVars]
68
[-InputOutput::RequireBriefOpen]