manpagez: man pages & more
man Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames(3)
Home | html | info | man
Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames(3)



NAME

       Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames - Don't
       use vague variable or subroutine names like 'last' or 'record'.


AFFILIATION

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


DESCRIPTION

       Conway lists a collection of English words which are highly ambiguous
       as variable or subroutine names.  For example, $last can mean previous
       or final.

       This policy tests against a list of ambiguous words for variable names.


CONFIGURATION

       The default list of forbidden words is:

           abstract bases close contract last left no record right second set

       This list can be changed by giving a value for "forbid" of a series of
       forbidden words separated by spaces.

       For example, if you decide that "bases" is an OK name for variables
       (e.g.  in bioinformatics), then put something like the following in
       "$HOME/.perlcriticrc":

           [NamingConventions::ProhibitAmbiguousNames]
           forbid = last set left right no abstract contract record second close


BUGS

       Currently this policy checks the entire variable and subroutine name,
       not parts of the name.  For example, it catches $last but not
       $last_record.  Hopefully future versions will catch both cases.

       Some variable statements will be false positives if they have
       assignments where the right hand side uses forbidden names.  For
       example, in this case the "last" incorrectly triggers a violation.

           my $previous_record = $Foo::last;


AUTHOR

       Chris Dolan <cdolan@cpan.org>


COPYRIGHT

       Copyright (c) 2005-2011 Chris Dolan.

       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 v5.28.2Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames(3)

perl-critic 1.134.0 - Generated Tue Jun 4 13:17:43 CDT 2019
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.