Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Plural variable naming (or not?)

by andreychek (Parson)
on Mar 19, 2002 at 18:15 UTC ( [id://152803]=note: print w/replies, xml ) Need Help??


in reply to Plural variable naming (or not?)

I have really come to enjoy the ideas and syntax offered by the P5EE Style Guide.

In the guide, they offer this for plural vs singular variable naming conventions:
--- Arrays and hashes should be plural nouns, whether as regular arrays and hashes or array and hash references. Do not name references with ``ref'' or the data type in the name. @stories = (1, 2, 3); # right $comment_ref = [4, 5, 6]; # wrong $comments = [4, 5, 6]; # right $comment = $comments->[0]; # right ---
By consistantly using a system like this throughout your programs, there won't have to be question about whether a scalar contains something like a string, or if it's a reference to an array or hash. As the guide suggests, references would be named in a plural fashion.

FWIW, I'm now using (or at least attempting to) this guide for all of my programming habits :-) Have fun,
-Eric

Replies are listed 'Best First'.
Re^2: Plural variable naming (or not?)
by JadeNB (Chaplain) on Dec 11, 2009 at 00:04 UTC
    By consistantly using a system like this throughout your programs, there won't have to be question about whether a scalar contains something like a string, or if it's a reference to an array or hash.

    7 years later, I have this to say ….

    It seems to me that this offers exactly the benefit you describe, but that that benefit might not be what it seems at first glance. That is, I can tell by looking at a variable name * whether it is

    • a string,
    • or
    • a reference to an array or hash;
    but I cannot answer the question of whether it is
    • a string,
    • a reference to a string,
    • a reference to an array,
    • or
    • a reference to a hash.
    (For that matter, there are all sorts of other references (and, for that matter, other things to stuff in scalars, like numbers), too, like \\1.) It seems to me that this is a level of granularity that one would like, in many cases, to be able to maintain. I don't know a better solution than the pseudo-Hungarian $ima_href, though, and I don't think much of that.

    * Although it's important to note that I can't even necessarily do that—is $moose singular or plural?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (5)
As of 2024-03-28 23:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found