logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse - Don't write long

Affiliation

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

Author

       Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

Configuration

       This policy can be configured with a maximum number of "elsif" alternatives to allow.  The default is 2.
       This can be specified via a "max_elsif" item in the .perlcriticrc file:

           [ControlStructures::ProhibitCascadingIfElse]
           max_elsif = 3

Description

       Long "if-elsif" chains are hard to digest, especially if they are longer than a single page or screen.
       If testing for equality, use a hash lookup instead.

           if ($condition1) {         #ok
               $foo = 1;
           }
           elsif ($condition2) {      #ok
               $foo = 2;
           }
           elsif ($condition3) {      #ok
               $foo = 3;
           }
           elsif ($condition4) {      #too many!
               $foo = 4;
           }
           else {                     #ok
               $foo = $default;
           }

Name

       Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse - Don't write long
       "if-elsif-elsif-elsif-elsif...else" chains.

See Also