Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: RFC: Perl Second-Best Practices

by qq (Hermit)
on Dec 19, 2005 at 21:44 UTC ( #517904=note: print w/replies, xml ) Need Help??

in reply to RFC: Perl Second-Best Practices

In certain circumstances I like very short variable names. For example in a loop where the variable is used many times as the topic, and I want the eye to be drawn to the methods. To me:

for my $e ( @episodes ) { $e->method_one; $e->method_two; $e->method_three; }

is clearer than:

for my $episode ( @episodes ) { $episode->method_one; $episode->method_two; $episode->method_three; }

However my coworkers don't seem to like it, so I'm going to try and change.

update: s/@episode/@episodes/ in second example.

Replies are listed 'Best First'.
Re^2: RFC: Perl Second-Best Practices
by duff (Parson) on Dec 19, 2005 at 21:48 UTC

    I tend to do the same thing myself, but only in places where it isn't likely to cause confusion. For instance, if your loop had lots of other one-letter variables or if there were several that all started with "e", noticing the $e might be difficult.

Re^2: RFC: Perl Second-Best Practices
by Aristotle (Chancellor) on Dec 26, 2005 at 12:16 UTC

    Thatís not a second-best practice at all, particularly if the loop variable just iterates over a well-named array or a (really) self-explanatory expression. F.ex., Iíd rewrite foreach my $index ( 0 .. $#somearray ) { wibble( $index, wubble( $somearray[ $index ] ) ); } to use $i instead.

    Length is not a goal for naming variables; choosing them so the code is easier to read is. That means a name needs to be long and descriptive if the variableís scope is large, but conversely also that it should be shorter for a more tightly scoped variable. Picking one-letter identifiers for loop variables on short loops helps readability. (Of course, if the list expression is actually very complex, you will probably want to use a longer name to describe what the expression means. Naming things is a complex craft.)

    Makeshifts last the longest.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2022-01-20 04:26 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (56 votes). Check out past polls.