2007-08-15 04:17:22 +02:00
|
|
|
theme = core + pbp + cosmetic + bugs + maintenance + complexity + security
|
|
|
|
|
|
|
|
# While there's good reason to not use subroutine prototypes, ikiwiki does
|
|
|
|
# use them, and changing away from them could lead to subtle bugs in stuff
|
|
|
|
# using the library. So for now, demote errors about them.
|
|
|
|
[Subroutines::ProhibitSubroutinePrototypes]
|
2007-08-15 10:08:32 +02:00
|
|
|
severity = 1
|
2007-08-15 04:17:22 +02:00
|
|
|
|
2007-08-15 10:08:32 +02:00
|
|
|
# Nice to have, but low priority. I do it for the hairy regexps.
|
|
|
|
[RegularExpressions::RequireExtendedFormatting]
|
|
|
|
severity = 1
|
|
|
|
|
|
|
|
# ProhibitStringyEval doesn't take into account that eval q{use Foo};
|
|
|
|
# defers the use until the eval runs, which is often a useful optimisation.
|
|
|
|
# While eval {use Foo}; does not defer the use at all.
|
2007-08-15 04:17:22 +02:00
|
|
|
[-BuiltinFunctions::ProhibitStringyEval]
|
2007-08-15 10:08:32 +02:00
|
|
|
|
|
|
|
# ikiwiki uses the method of switching other files to the IkiWiki package
|
|
|
|
# when they are part of the core program. I don't plan to have more than
|
|
|
|
# the one exporting module in IkiWiki, so let's ignore this test.
|
|
|
|
[-Modules::RequireFilenameMatchesPackage]
|
2008-08-12 21:48:44 +02:00
|
|
|
# IkiWiki also switches _out_ of the core package when a package namespace
|
2007-08-15 10:08:32 +02:00
|
|
|
# is a good way to group a set of functions. This doesn't mean I want it
|
|
|
|
# loading up a separate file though, so it's in the same file.
|
|
|
|
[-Modules::ProhibitMultiplePackages]
|
|
|
|
|
|
|
|
# ikiwiki uses this when it makes sense, ie, for conditional variable
|
|
|
|
# localisation.
|
|
|
|
[-Variables::ProhibitConditionalDeclarations]
|
|
|
|
|
|
|
|
# IkiWiki exports symbols, and uses globals, if it's bad form, that's too
|
|
|
|
# bad. :-)
|
|
|
|
[-Modules::ProhibitAutomaticExportation]
|
|
|
|
[-Variables::ProhibitPackageVars]
|
|
|
|
|
|
|
|
# Stylistic checks that I don't agree with. Larry put both forms there for
|
|
|
|
# a reason; both forms can be abused.
|
|
|
|
[-BuiltinFunctions::RequireBlockGrep]
|
|
|
|
[-BuiltinFunctions::RequireBlockMap]
|
|
|
|
[-Variables::ProhibitPunctuationVars]
|
|
|
|
[-ControlStructures::ProhibitPostfixControls]
|
|
|
|
|
|
|
|
# Sadly doesn't match my coding style.
|
|
|
|
[-CodeLayout::ProhibitHardTabs]
|
|
|
|
|
|
|
|
# Sillyness.
|
|
|
|
[-Miscellanea::RequireRcsKeywords]
|
|
|
|
|
|
|
|
# Sadly, perl doesn't offer a builtin better way in many cases.
|
|
|
|
[-ControlStructures::ProhibitCascadingIfElse]
|
|
|
|
|
|
|
|
# Good god, man, it's perl. Get over it!
|
|
|
|
[-ValuesAndExpressions::ProhibitNoisyQuotes]
|
|
|
|
[-ValuesAndExpressions::ProhibitEmptyQuotes]
|
|
|
|
[-RegularExpressions::RequireLineBoundaryMatching]
|
|
|
|
|
|
|
|
# When I use local vars, I have a damn good reason.
|
|
|
|
# (A shower after with lots of strong soap is also a nice thing.)
|
|
|
|
[-Variables::ProhibitLocalVars]
|