App-PerlCriticUtils

 view release on metacpan or  search on metacpan

lib/App/PerlCriticUtils.pm  view on Meta::CPAN

       applies_to => "PPI::Document",
     },
     {
       name => "Documentation::RequirePackageMatchesPodName",
       abstract => "The C<=head1 NAME> section should match the package.",
       supported_parameters => "",
       default_severity => 1,
       default_themes => "core, cosmetic",
       applies_to => "PPI::Document",
     },
     {
       name => "Documentation::RequirePodAtEnd",
       abstract => "All POD should be after C<__END__>.",
       applies_to => "PPI::Document",
       default_themes => "core, cosmetic, pbp",
       default_severity => 1,
       supported_parameters => "",
     },
     {
       name => "Documentation::RequirePodSections",
       abstract => "Organize your POD into the customary sections.",
       supported_parameters => "lib_sections, script_sections, source, language",
       applies_to => "PPI::Document",
       default_severity => 2,
       default_themes => "core, pbp, maintenance",
     },
     {
       name => "ErrorHandling::RequireCarping",
       abstract => "Use functions from L<Carp|Carp> instead of C<warn> or C<die>.",
       applies_to => "PPI::Token::Word",
       default_themes => "core, pbp, maintenance, certrule",
       default_severity => 3,
       supported_parameters => "allow_messages_ending_with_newlines, allow_in_main_unless_in_subroutine",
     },
     {
       name => "ErrorHandling::RequireCheckingReturnValueOfEval",
       abstract => "You can't depend upon the value of C<\$\@>/C<\$EVAL_ERROR> to tell whether an C<eval> failed.",
       supported_parameters => "",
       default_severity => 3,
       default_themes => "core, bugs",
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::ProhibitBacktickOperators",
       abstract => "Discourage stuff like C<\@files = `ls \$directory`>.",
       applies_to => "PPI::Token::QuoteLike::Command",
       default_themes => "core, maintenance",
       default_severity => 3,
       supported_parameters => "only_in_void_context",
     },
     {
       name => "InputOutput::ProhibitBarewordFileHandles",
       abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
       supported_parameters => "",
       default_themes => "core, pbp, bugs, certrec",
       default_severity => 5,
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::ProhibitExplicitStdin",
       abstract => "Use \"<>\" or \"<ARGV>\" or a prompting module instead of \"<STDIN>\".",
       supported_parameters => "",
       applies_to => "PPI::Token::QuoteLike::Readline",
       default_themes => "core, pbp, maintenance",
       default_severity => 4,
     },
     {
       name => "InputOutput::ProhibitInteractiveTest",
       abstract => "Use prompt() instead of -t.",
       applies_to => "PPI::Token::Operator",
       default_themes => "core, pbp, bugs, certrule",
       default_severity => 5,
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitJoinedReadline",
       abstract => "Use C<local \$/ = undef> or L<Path::Tiny|Path::Tiny> instead of joined readline.",
       supported_parameters => "",
       default_themes => "core, pbp, performance",
       default_severity => 3,
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::ProhibitOneArgSelect",
       abstract => "Never write C<select(\$fh)>.",
       default_themes => "core, bugs, pbp, certrule",
       default_severity => 4,
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitReadlineInForLoop",
       abstract => "Write C<< while( \$line = <> ){...} >> instead of C<< for(<>){...} >>.",
       supported_parameters => "",
       applies_to => "PPI::Statement::Compound",
       default_themes => "core, bugs, pbp",
       default_severity => 4,
     },
     {
       name => "InputOutput::ProhibitTwoArgOpen",
       abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
       default_severity => 5,
       default_themes => "core, pbp, bugs, security, certrule",
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "InputOutput::RequireBracedFileHandleWithPrint",
       abstract => "Write C<print {\$FH} \$foo, \$bar;> instead of C<print \$FH \$foo, \$bar;>.",
       supported_parameters => "",
       default_severity => 1,
       default_themes => "core, pbp, cosmetic",
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::RequireBriefOpen",
       abstract => "Close filehandles as soon as possible after opening them.",
       default_severity => 4,
       default_themes => "core, pbp, maintenance",
       applies_to => "PPI::Token::Word",
       supported_parameters => "lines",
     },
     {
       name => "InputOutput::RequireCheckedClose",
       abstract => "Write C<< my \$error = close \$fh; >> instead of C<< close \$fh; >>.",
       default_themes => "core, maintenance, certrule",
       default_severity => 2,
       applies_to => "PPI::Token::Word",
       supported_parameters => "autodie_modules",

lib/App/PerlCriticUtils.pm  view on Meta::CPAN

=item * List policies which have default severity of 5:

 pcplist(default_severity => 5, detail => 1);

Result:

 [
   200,
   "OK",
   [
     {
       name => "BuiltinFunctions::ProhibitSleepViaSelect",
       abstract => "Use L<Time::HiRes|Time::HiRes> instead of something like C<select(undef, undef, undef, .05)>.",
       default_severity => 5,
       default_themes => "core, pbp, bugs",
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "BuiltinFunctions::ProhibitStringyEval",
       abstract => "Write C<eval { my \$foo; bar(\$foo) }> instead of C<eval \"my \$foo; bar(\$foo);\">.",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrule",
       applies_to => "PPI::Token::Word",
       supported_parameters => "allow_includes",
     },
     {
       name => "BuiltinFunctions::RequireGlobFunction",
       abstract => "Use C<glob q{*}> instead of <*>.",
       supported_parameters => "",
       applies_to => "PPI::Token::QuoteLike::Readline",
       default_themes => "core, pbp, bugs",
       default_severity => 5,
     },
     {
       name => "ClassHierarchies::ProhibitOneArgBless",
       abstract => "Write C<bless {}, \$class;> instead of just C<bless {};>.",
       default_themes => "core, pbp, bugs",
       default_severity => 5,
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "ControlStructures::ProhibitMutatingListFunctions",
       abstract => "Don't modify C<\$_> in list functions.",
       applies_to => "PPI::Token::Word",
       default_severity => 5,
       default_themes => "core, bugs, pbp, certrule",
       supported_parameters => "list_funcs, add_list_funcs",
     },
     {
       name => "InputOutput::ProhibitBarewordFileHandles",
       abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
       supported_parameters => "",
       applies_to => "PPI::Token::Word",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrec",
     },
     {
       name => "InputOutput::ProhibitInteractiveTest",
       abstract => "Use prompt() instead of -t.",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrule",
       applies_to => "PPI::Token::Operator",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitTwoArgOpen",
       abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
       supported_parameters => "",
       default_severity => 5,
       default_themes => "core, pbp, bugs, security, certrule",
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::RequireEncodingWithUTF8Layer",
       abstract => "Write C<< open \$fh, q{<:encoding(UTF-8)}, \$filename; >> instead of C<< open \$fh, q{<:utf8}, \$filename; >>.",
       supported_parameters => "",
       default_themes => "core, bugs, security",
       default_severity => 5,
       applies_to => "PPI::Token::Word",
     },
     {
       name => "Modules::ProhibitEvilModules",
       abstract => "Ban modules that aren't blessed by your shop.",
       default_themes => "core, bugs, certrule",
       default_severity => 5,
       applies_to => "PPI::Statement::Include",
       supported_parameters => "modules, modules_file",
     },
     {
       name => "Modules::RequireBarewordIncludes",
       abstract => "Write C<require Module> instead of C<require 'Module.pm'>.",
       supported_parameters => "",
       applies_to => "PPI::Statement::Include",
       default_themes => "core, portability",
       default_severity => 5,
     },
     {
       name => "Modules::RequireFilenameMatchesPackage",
       abstract => "Package declaration must match filename.",
       supported_parameters => "",
       default_themes => "core, bugs",
       default_severity => 5,
       applies_to => "PPI::Document",
     },
     {
       name => "Subroutines::ProhibitExplicitReturnUndef",
       abstract => "Return failure with bare C<return> instead of C<return undef>.",
       applies_to => "PPI::Token::Word",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrec",
       supported_parameters => "",
     },
     {
       name => "Subroutines::ProhibitNestedSubs",
       abstract => "C<sub never { sub correct {} }>.",
       supported_parameters => "",
       applies_to => "PPI::Statement::Sub",
       default_themes => "core, bugs",
       default_severity => 5,

lib/App/PerlCriticUtils.pm  view on Meta::CPAN

       applies_to => "PPI::Token::QuoteLike::Readline",
     },
     {
       name => "ClassHierarchies::ProhibitOneArgBless",
       abstract => "Write C<bless {}, \$class;> instead of just C<bless {};>.",
       default_themes => "core, pbp, bugs",
       default_severity => 5,
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "CodeLayout::RequireConsistentNewlines",
       abstract => "Use the same newline through the source.",
       applies_to => "PPI::Document",
       default_severity => 4,
       default_themes => "core, bugs",
       supported_parameters => "",
     },
     {
       name => "ControlStructures::ProhibitLabelsWithSpecialBlockNames",
       abstract => "Don't use labels that are the same as the special block names.",
       supported_parameters => "",
       default_severity => 4,
       default_themes => "core, bugs",
       applies_to => "PPI::Token::Label",
     },
     {
       name => "ControlStructures::ProhibitMutatingListFunctions",
       abstract => "Don't modify C<\$_> in list functions.",
       supported_parameters => "list_funcs, add_list_funcs",
       default_themes => "core, bugs, pbp, certrule",
       default_severity => 5,
       applies_to => "PPI::Token::Word",
     },
     {
       name => "ControlStructures::ProhibitUnreachableCode",
       abstract => "Don't write code after an unconditional C<die, exit, or next>.",
       supported_parameters => "",
       applies_to => "PPI::Token::Word",
       default_severity => 4,
       default_themes => "core, bugs, certrec",
     },
     {
       name => "ControlStructures::ProhibitYadaOperator",
       abstract => "Never use C<...> in production code.",
       supported_parameters => "",
       applies_to => "PPI::Token::Operator",
       default_themes => "core, pbp, maintenance",
       default_severity => 4,
     },
     {
       name => "InputOutput::ProhibitBarewordFileHandles",
       abstract => "Write C<open my \$fh, q{<}, \$filename;> instead of C<open FH, q{<}, \$filename;>.",
       supported_parameters => "",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrec",
       applies_to => "PPI::Token::Word",
     },
     {
       name => "InputOutput::ProhibitExplicitStdin",
       abstract => "Use \"<>\" or \"<ARGV>\" or a prompting module instead of \"<STDIN>\".",
       default_severity => 4,
       default_themes => "core, pbp, maintenance",
       applies_to => "PPI::Token::QuoteLike::Readline",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitInteractiveTest",
       abstract => "Use prompt() instead of -t.",
       default_severity => 5,
       default_themes => "core, pbp, bugs, certrule",
       applies_to => "PPI::Token::Operator",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitOneArgSelect",
       abstract => "Never write C<select(\$fh)>.",
       default_severity => 4,
       default_themes => "core, bugs, pbp, certrule",
       applies_to => "PPI::Token::Word",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitReadlineInForLoop",
       abstract => "Write C<< while( \$line = <> ){...} >> instead of C<< for(<>){...} >>.",
       default_severity => 4,
       default_themes => "core, bugs, pbp",
       applies_to => "PPI::Statement::Compound",
       supported_parameters => "",
     },
     {
       name => "InputOutput::ProhibitTwoArgOpen",
       abstract => "Write C<< open \$fh, q{<}, \$filename; >> instead of C<< open \$fh, \"<\$filename\"; >>.",
       supported_parameters => "",
       applies_to => "PPI::Token::Word",
       default_themes => "core, pbp, bugs, security, certrule",
       default_severity => 5,
     },
     {
       name => "InputOutput::RequireBriefOpen",
       abstract => "Close filehandles as soon as possible after opening them.",
       supported_parameters => "lines",
       applies_to => "PPI::Token::Word",
       default_themes => "core, pbp, maintenance",
       default_severity => 4,
     },
     {
       name => "InputOutput::RequireEncodingWithUTF8Layer",
       abstract => "Write C<< open \$fh, q{<:encoding(UTF-8)}, \$filename; >> instead of C<< open \$fh, q{<:utf8}, \$filename; >>.",
       supported_parameters => "",
       applies_to => "PPI::Token::Word",
       default_themes => "core, bugs, security",
       default_severity => 5,
     },
     {
       name => "Modules::ProhibitAutomaticExportation",
       abstract => "Export symbols via C<\@EXPORT_OK> or C<%EXPORT_TAGS> instead of C<\@EXPORT>.",
       applies_to => "PPI::Document",
       default_severity => 4,
       default_themes => "core, bugs",
       supported_parameters => "",
     },
     {
       name => "Modules::ProhibitEvilModules",
       abstract => "Ban modules that aren't blessed by your shop.",
       supported_parameters => "modules, modules_file",
       applies_to => "PPI::Statement::Include",
       default_themes => "core, bugs, certrule",
       default_severity => 5,



( run in 2.412 seconds using v1.01-cache-2.11-cpan-6aa56a78535 )