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

(dws)Re: Perverse Unreadable Code

by dws (Chancellor)
on Apr 25, 2001 at 23:44 UTC ( #75588=note: print w/ replies, xml ) Need Help??


in reply to Perverse Unreadable Code

I have also seen people doing horrors like putting if statements after the code to be excuted.

If the tools you've grown up with lack the descriptive power of Perl, you might well think that such a feature is a horror. But once you've done a bit of Perl and get used to it, you may find yourself cursing the lack of descriptive power of other tools.

To my eye   print "About to fetch $url\n" if $debug;
is more readable, and less disruptive to reading flow, than

if ( $debug ) { print "About to fetch $url\n"; }
As with any feature, this one can be abused. Which is why it's important to distinguish between the perversity of the tool and the perversity of the tool user.


Comment on (dws)Re: Perverse Unreadable Code
Select or Download Code
(Maclir)Re: (dws)Re: Perverse Unreadable Code
by Maclir (Curate) on Apr 26, 2001 at 10:51 UTC

    There are advantages in the:

    if ( $debug ) { print "About to fetch $url\n"; }
    approach, mainly because if I want to throw a few more statements into the "if" block, I can do it simply.

    I also find having the code structured that way indicates clearly that a conditional is involved, and by seeing what the condition is, it can often provide an indication of why something is being done. For example:

    if ( $account_balance < '100.00' ) { print "Don't pay the loser any interest.\n"; }
    indicates we are dealing with low value accounts.

    But then again, we are talking subjective matters here. An alternative way, and in my mind just as readible, is:

    &calculte_interest($account_number) unless ($account_balance < '100. +00' );

    As a side line, I recall being told once "Fortran programmers can write fortran programs in any language."

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (10)
As of 2014-11-27 13:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (184 votes), past polls