Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: A matter of style: how to perform a simple action based on a simple condition?

by Tux (Abbot)
on Sep 26, 2010 at 10:32 UTC ( #862067=note: print w/replies, xml ) Need Help??

in reply to A matter of style: how to perform a simple action based on a simple condition?

As the others already mentioned, it is about personal taste. But maybe more: it is how the people that maintain the code prefer to read it. If you are the only one, do what you prefer best. If it is a team, please follow the guidelines of the team and be consistent in that.

I never use the func () if $expr; syntax, because that is - for my mind - exactly the wrong way around.

I also never use && and || to do so, because it then doesn't differ enough with expressions:

$expr1 && $expr2 and action (); $expr1 || $expr2 or action ();

And if it gets more complicated, go to Three. Whenever in doubt, use parens:

if ($expr1 && $expr2 or $expr3 && ($expr4 || $expr5)) { action1 (); action2 (); }

So, I never ever use Two (and in our team when we see code like that it is immediately rewritten to One or Three).

Side note: I have one colleague that just cannot cope in his mind with unless. Not all people think alike, certainly when mixed languages (peoples languages, not computer languages) are involved.

Three has the ((very) big) advantage of being able to insert new code when the condition meets without changing the rest of the code.

Enjoy, Have FUN! H.Merijn

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2021-01-22 00:16 GMT
Find Nodes?
    Voting Booth?