Perl::Critic::Policy::Bangs::ProhibitNumberedNames − Prohibit variables differentiated by trailing numbers.
This Policy is part of the Perl::Critic::Bangs distribution.
Similar variables should be meaningfully different. A lazy way to differentiate similar variables is by tacking a number at the end.
my $total = $price * $quantity; my $total2 = $total + ($total * $taxrate); my $total3 = $total2 + $shipping;
The difference between $total and $total3 is not described by the silly "3" at the end. Instead, it should be:
my $merch_total = $price * $quantity; my $subtotal = $merch_total + ($merch_total * $taxrate); my $grand_total = $subtotal + $shipping;
See <http://www.oreillynet.com/onlamp/blog/2004/03/the_worlds_two_worst_variable.html> for more of my ranting on this.
This policy has two options: "exceptions" and "add_exceptions".
This policy starts with a list of numbered names that are legitimate to have ending with a number:
md5, x11, utf8
To replace the list of exceptions, specify a value for the "exceptions" option.
[Bangs::ProhibitNumberedNames] exceptions = logan7 babylon5
To add exceptions to the list, give a value for "add_exceptions" in your .perlcriticrc file like this:
[Bangs::ProhibitVagueNames] add_names = adam12 route66
Andy Lester "<andy at petdance.com>"
Copyright (c) 2006−2011 Andy Lester
This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.