Risk-Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks - Write "if(! $condition)" instead of

Affiliation

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

Author

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

Configuration

       This Policy is not configurable except for the standard options.

Description

       Conway discourages using "unless" because it leads to double-negatives that are hard to understand.
       Instead, reverse the logic and use "if".

           unless($condition) { do_something() } #not ok
           unless(! $no_flag) { do_something() } #really bad
           if( ! $condition)  { do_something() } #ok

       This Policy only covers the block-form of "unless".  For the postfix variety, see
       "ProhibitPostfixControls".

Name

       Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks - Write "if(! $condition)" instead of
       "unless($condition)".

See Also

       Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls

See Also