Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^4: Burned by precedence rules

by GrandFather (Cardinal)
on Dec 26, 2008 at 20:45 UTC ( #732705=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Burned by precedence rules
in thread Burned by precedence rules

I absolutly agree that unless often becomes very confusing with more than one element in the condition and almost always use if in that case.

I'm in (southern hemisphere) holiday mode at the moment so my head isn't fully in Perl space. I focused on the two nots rather than the 'and' and actually in the specific case given I think the result conveys the intent better than the if version - no De Morganizing required.


Perl's payment curve coincides with its learning curve.


Comment on Re^4: Burned by precedence rules
Re^5: Burned by precedence rules
by tilly (Archbishop) on Dec 27, 2008 at 05:59 UTC
    Yes, it reads nicely. But if you're debugging and know the two values, you may be very surprised at what it does. By contrast in that mode you will reliably figure out what the if version does.

    If you can easily run the code this is not so bad, But in my case I was debugging a failure in a batch job that failed after hours of work. In code I hadn't touched in months. Hence my failure to correctly figure out whether the conditional was executed lead to enough pain that I learned my lesson. The if version may not be pretty, but it is just as understandable when coding and a heck of a lot easier to debug. So use it.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2014-09-19 09:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (134 votes), past polls