Unix/Linux Go Back    


CentOS 7.0 - man page for perl::critic::policy::builtinfunctions::prohibitcomplexmappings (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


Perl::Critic::Policy::BuiltinFuPerl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3)

NAME
       Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings - Map blocks should have a
       single statement.

AFFILIATION
       This Policy is part of the core Perl::Critic distribution.

DESCRIPTION
       The map function can be confusing to novices in the best of circumstances.  Mappings with
       multiple statements are even worse.  They're also a maintainer's nightmare because any
       added complexity decreases readability precipitously.  Why?  Because map is traditionally
       a one-liner converting one array to another.  Trying to cram lots of functionality into a
       one-liner is a bad idea in general.

       The best solutions to a complex mapping are: 1) write a subroutine that performs the
       manipulation and call that from map; 2) rewrite the map as a for loop.

CAVEATS
       This policy currently misses some compound statements inside of the map.  For example, the
       following code incorrectly does not trigger a violation:

	   map { do { foo(); bar() } } @list

CONFIGURATION
       By default this policy flags any mappings with more than one statement.	While we do not
       recommend it, you can increase this limit as follows in a .perlcriticrc file:

	   [BuiltinFunctions::ProhibitComplexMappings]
	   max_statements = 2

AUTHOR
       Chris Dolan <cdolan@cpan.org>

CREDITS
       Initial development of this policy was supported by a grant from the Perl Foundation.

COPYRIGHT
       Copyright (c) 2007-2011 Chris Dolan.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

perl v5.16.3		       Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:50 PM.