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

Re: Re: Re: My coding guidelines

by helgi (Hermit)
on Nov 28, 2002 at 16:35 UTC ( #216341=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: My coding guidelines
in thread My coding guidelines

You wrote:
Since I never use 'not' in my code ... yes. ;)

If not, why not? What do you use instead?
I find not is usually the cleanest and most readable operator for all sorts of tests.

die "$usage" if not @ARGV; if (not -r $file) { die "Cannot read $file\n"; } print "$pattern not found in $file\n" if not $found;
And so forth.

--
Regards,
Helgi Briem
helgi AT decode DOT is


Comment on Re: Re: Re: My coding guidelines
Download Code
Re(4): My coding guidelines
by mojotoad (Monsignor) on Nov 29, 2002 at 23:38 UTC
    If not, why not? What do you use instead? I find not is usually the cleanest and most readable operator for all sorts of tests.

    It's just a matter of taste. I'm not against using not, I just don't happen to prefer it.

    You give the following example:

    print "$pattern not found in $file\n" if not $found;

    In this case I would use unless:

    print "$pattern not found in $file\n" unless $found;

    As for if (not -r $file) {...}, I typically use the bang operator (!) rather than not -- just a matter of preference, probably due to my C influences.

    Matt

      print "$pattern not found in $file\n" unless $found;
      I use unless when I expect that the print will be executed most of the time - unless the condition happens to be true. In the quoted case, I'd probably use if not, as the if highlights the fact that the message is only printed if the pattern wasn't found. Just like the way you use "if" and "unless" in English.

      Makeshifts last the longest.

      I prefer never to use the ! operator if I can possibly avoid it. It is much easier for me to miss when skimming through code and my brain doesn't parse it autmoatically like it does "not".

      For much the same reason I always prefer "or" to "||" and "and" to "&&". My brain already knows how to parse these English words and I don't need to teach it new tricks.

      --
      Regards,
      Helgi Briem
      helgi AT decode DOT is

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (16)
As of 2014-08-27 16:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (244 votes), past polls