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

(Ovid) Re(2): How many bugs can *you* find

by Ovid (Cardinal)
on May 01, 2001 at 03:25 UTC ( [id://76811]=note: print w/replies, xml ) Need Help??


in reply to Re: How many bugs can *you* find
in thread How many bugs can *you* find

New business idea: post code samples and try to get merlyn to offer free code reviews. Sell code reviews to clients...

merlyn wrote:

See what you can get for $10 of my time? How many of those would you have found for $10 of your time? {grin}

Rather than list what I found, I'll list what I didn't. Then everyone can see what a faker I am :)

my $paramTemp,$contentTemp; ## $contentTemp is NOT BEING DECLARED LOCAL (very misleading)

Gah! I didn't see that one. (FYI: if you don't see it, "my" binds tighter than the comma).

$content =~ s/<!--$section-->(.*)/<!--$section-->$contentTemp/; ## parens not needed on .*, what if $section has regex chars?

Saw the useless parens (and that despicable dot star!), but didn't think about $section having regex characters.

if ($image ne '') { my $newFile = fileUpload('Image',250000,1,'lat +est_image','JPEG','.jpg',' +.jpeg') } ## image might be undef if param not provided.

Sigh. I missed this one, too.

All in all, I don't feel bad about catching most of the errors. This little post was 17 lines of code. Imagine expanding this out to over 2,000!

Cheers,
Ovid

Update: It's interesting to notice that someone can hack together a script that has virtually every line of code in error and have the script still work. The person who wrote this code was a coder, not a programmer.

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

Replies are listed 'Best First'.
Re: (Ovid) Re(2): How many bugs can *you* find
by MeowChow (Vicar) on May 01, 2001 at 04:45 UTC
    Said merlyn, and then Ovid:
    $content =~ s/<!--$section-->(.*)/<!--$section-->$contentTemp/; ## parens not needed on .*, what if $section has regex chars?
    Saw the useless parens (and that despicable dot star!), but didn't think about $section having regex characters.
    Actually, $section can't have regex characters as the code is written, since it simply iterates over the hard-coded items in @sections.

    That will be five dollars, please. I take paypal, and I don't take American Express.

       MeowChow                                   
                   s aamecha.s a..a\u$&owag.print
      Actually, $section can't have regex characters as the code is written, since it simply iterates over the hard-coded items in @sections
      As written, but not as maintained. {grin}

      For this to pass code review for me, there'd either need to be a fix to that line to make it work even when $section has regex chars, or a note put up above saying "don't ever include regex chars in this string... see below".

      The reason I flag that is that it creates an intertwining dependency that will be hell for the maintenance programmer down the road. Trust me: I've been that maintenance programmer enough times to know how much I hate those things. That's why my code reviews are so thorough. {grin}

      -- Randal L. Schwartz, Perl hacker

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (5)
As of 2024-04-23 20:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found