Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Burned by precedence rules

by toolic (Chancellor)
on Dec 23, 2008 at 13:44 UTC ( #732288=note: print w/ replies, xml ) Need Help??


in reply to Burned by precedence rules

I code in enough languages that it is impractical for me to remember operator precedence in a single language, let alone 5 languages. So, I got into the habit of always using parentheses around expressions. I find that using parentheses more clearly groups the code and makes it easier to read, with the byproduct of avoiding precedence issues.

I also prefer using Perl's named operators (and, or, etc.) over it's symbolic ones because I think it makes the code easier to read and understand.


Comment on Re: Burned by precedence rules
Re^2: Burned by precedence rules
by monarch (Priest) on Dec 24, 2008 at 06:56 UTC

    I frequently have this argument with junior programmers.. like you I have coded in enough languages in my time to use parenthesis almost always. It frustrates some people but there can be no confusion to myself or the compiler of the intended consequences.

    I always code defensively because I don't want to have to deal with bugs that I've created.

    You wrote: "I also prefer using Perl's named operators (and, or, etc.) over it's symbolic ones". I personally prefer the symbolic ones because I've been reading C from a young age and they are very natural to me (just as "x" "+" is as natural as saying "multiplied by" or "plus"). And Perl named operators bind low which can frequently cause the very trouble illustrated by this thread. As an aside I came across a junior developer in our organisation who made the very same precedence error (low precedence "and") a few months ago, and this same junior developer had the audacity to deride my C programming background assuming that I couldn't possibly program in Perl as a result..

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (10)
As of 2014-07-25 12:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (171 votes), past polls