Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames - Don't use vague variable or subroutine names like 'last' or 'record'.
This Policy is part of the core Perl::Critic distribution.
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.
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
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;
Chris Dolan <cdolan@cpan.org>
Copyright (c) 2005-2008 Chris Dolan. All rights reserved.
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.