Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Of variable {mice} and its name {man}.

by hsmyers (Canon)
on Jun 01, 2002 at 22:13 UTC ( [id://170942]=note: print w/replies, xml ) Need Help??


in reply to Of variable {mice} and its name {man}.

It is interesting to note that the discussion over 'how to name variables' predates even the 'structured programming revolution' (hmmm--come to think of it so do I<sigh>) And if there has been a single point of agreement over all of this time then it would be:

No matter what they are used for, there names should be meaningful!
Now there is a lofty goal if I ever saw one. 'Goal' because for all of our good intentions, there are many reasons why we miss this particular ideal. My own personal pet exception is an entire set; [i,j,k,m,n,s,t]. I use them as follows:
  • i,j,k are all reserved for indexes, typically nested.
  • m,n similar, but usually in some numeric context (too many days at the blackboard doing proofs I'd guess).
  • s and t reserved for string parameters
Anything else tends to be meaningful--I swear!

Now if you want a real debate, consider this:

It right and just to seperate words in a name with an underbar.
Defend or attack--you have five minutes...

–hsm

"Never try to teach a pig to sing…it wastes your time and it annoys the pig."
  • Comment on Re: Of variable {mice} and its name {man}.

Replies are listed 'Best First'.
Re: Re: Of variable {mice} and its name {man}.
by rinceWind (Monsignor) on Jun 02, 2002 at 13:24 UTC
    hsmyers, do you have a FORTRAN background by any chance?

    For the benefit of others on this forum, FORTRAN is like Basic and no strict, in that you do not have to declare variables. However, variables beginning [I-M] are automatically declared integer, whereas ones beginning with the other letters of the alphabet are automatically real.

    This I believe is where your i,j,k and m,n come from. As for s and t, strings were a latecomer to FORTRAN.

    Back to the subject of perl, my beliefs are that it should be obvious from looking at the code what your variable is. I don't have an issue with single char loop variables (apart from $a and $b of course), but generally, variables should be given meaningful names. Also, I like using underscores, as I have done much programming in languages and on operating systems without case sensitivity. I have been bitten may times writing code with variables $fooBar, $FooBar and $foobar, whereas $foo_bar wins every time for me.

      My first experiences with i,j,and k were in Vector Calculus, not in programming. In a three dimensional space, i relates to the X, j relates to Y, and k relates to Z. I don't know if this was just my textbook's standard, or if others followed this as well.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (1)
As of 2024-04-25 05:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found