http://www.perlmonks.org?node_id=1002921


in reply to Re: About the use of the plural form for the name of variables
in thread About the use of the plural form for the name of variables

I think great, but its not a table, use %veg :)

Excellent point.

Hmm, Perl Best Practices for naming variables says use %vegetable in the singular

This made me chuckle. It lead to me imagining Dr. Conway digging his own grave just so he could roll over in it. I know he went to a lot of effort to provide justifications for each "rule" he included. And I know he went to a lot of effort to document that his intent was not to have people blindly parroting rules without considering the justifications and whether or not each applied to their particular environment / situation / style, etc.

And yet, the vast majority of references to Perl Best Practices that I see are cases of people blindly parroting rules from it. (Perl::Critic is perhaps the most egregious example of this.)

But I give you points for providing a link. The link did include a justification:

Damian also recommends naming hashes in the singular, the idea being that individual accesses seem more natural: $vegetable{spinach}.

Note that I already said that I don't mind having the pluralizing 's' (or other suffix) being immediately followed by a "one of" syntax element (like [1] or {spinach}). They end up right next to each other and so I find no confusion results.

But I also find $vegetable{spinach} to be an example of a lousy use of a variable name. What are you tracking about vegetables, including spinach? Which of the things that you are tracking do I get back from $vegetable{spinach} ? I guess you might have a bunch of Whatever::Vegetable objects, which would make the name less bad.

I've seen a recommendation to use prepositions in the names of hash variables. For example, my %vegetable_obj_from_name;. But I realize that I relatively rarely have multiple hashes indexing into the same space of values. So I'm more likely to go with your advice of "It is a variable of limited scope, give it a name that is somewhat mnemonic but also short and thus faster to type and even to read... like %veg".

Thanks for the reality check and for the chuckle. (:

- tye        

Replies are listed 'Best First'.
Re^3: Using plural form for variable names (Perl Best Practices)
by space_monk (Chaplain) on Nov 08, 2012 at 15:25 UTC
    The reasoning from your example is obvious; Google only returns "vegetable hash" recipes, but not "vegetables hash" recipes. :-P
    A Monk aims to give answers to those who have none, and to learn from those who know more.