Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Perl::Critic::Policy::U

NAME
       Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
       - Long chains of	method calls indicate tightly coupled code.

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

DESCRIPTION
       A long chain of method calls usually indicates that the code knows too
       much about the interrelationships between objects.  If the code is able
       to directly navigate far	down a network of objects, then	when the
       network changes structure in the	future,	the code will need to be
       modified	to deal	with the change.  The code is too tightly coupled and
       is brittle.

	   $x =	$y->a;		 #ok
	   $x =	$y->a->b;	 #ok
	   $x =	$y->a->b->c;	 #questionable,	but allowed by default
	   $x =	$y->a->b->c->d;	 #not ok

CONFIGURATION
       This policy has one option: "max_chain_length" which controls how far
       the code	is allowed to navigate.	 The default value is 3.

TO DO
       Add a "class_method_exemptions" option to allow for things like

	   File::Find::Rule
	       ->name('*.blah')
	       ->not_name('thingy')
	       ->readable()
	       ->directory()
	       ->in(@roots);

AUTHOR
       Elliot Shank "<perl@galumph.com>"

COPYRIGHT
       Copyright (c) 2007-2011 Elliot Shank.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  The full text of this license can
       be found	in the LICENSE file included with this module.

Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls(3)

Perl::Critic::Policy::U | NAME | AFFILIATION | DESCRIPTION | CONFIGURATION | TO DO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help