Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Perl Best Practices for naming variables

by tilly (Archbishop)
on Aug 07, 2005 at 05:44 UTC ( #481620=note: print w/ replies, xml ) Need Help??


in reply to Perl Best Practices for naming variables

I have no strong preferences on _ref in those names. The issue that he mentions is not a problem for me because most of my variables have a small scope, so I'm unlikely to have 2 with the same name in scope. Lessening it even more, most of my hashes are references to hashes, so it is very unlikely that there is a hash or array to conflict with.

I also have no strong preferences on giving singular or plural names to arrays. Sometimes one looks right, sometimes the other.

I do have a strong preference that hashes get singular names, though.

The single most useful comment that I've seen on using hashes is, Think of a hash lookup as "of". That is, $age{'Sam'} should be read "age of Sam". Or, if you need it to be really unambiguous, $age_by_name{'Sam'} can be read "Age of whoever is named Sam."

This little recommendation fits every idiomatic use of hashes that readily comes to mind. When I was just starting Perl, it made it easy for me to spot where and when a hash would be useful, and decide what it should be called. With the benefit of experience I know of no better way to figure that out.

However that little linguistic principle that I treasure is ruined if you give hashes singularplural names. (Unless the values are array refs, in which case I would give it a plural name without even pausing to think about it.)

Update: Changed singular to plural per private note from hv.


Comment on Re: Perl Best Practices for naming variables
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://481620]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (9)
As of 2015-07-07 10:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls