Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Greatest programming mistakes and what to learn from

by Wonko the sane (Deacon)
on Dec 23, 2004 at 01:36 UTC ( #416974=note: print w/ replies, xml ) Need Help??


in reply to Greatest programming mistakes and what to learn from

Debugging lesson learned:

When faced with a logical paradox, check your assumptions,
You will always find that at least one is in error.

Wonko


Comment on Re: Greatest programming mistakes and what to learn from
Re^2: Greatest programming mistakes and what to learn from
by Stevie-O (Friar) on Dec 23, 2004 at 07:00 UTC
    Bravo!

    Whenever I'm debugging a problem, and I have no idea what's going wrong, my first instinct is to say: Print out *all* the variables.
    My coworkers used to give me strange looks, and I'd get conversations that went like this:

    Me: "Hey, print the value of X"

    Them: "I know what it is. It's 3."

    Me: "Print it out anyway."

    Them: "Fine." Output: 3

    Me: "Good. Now print the value of Y..."

    Repeat for many, many variables (incidentally, this often became code that logged gobs of data to a file). Eventually, we'd get to a variable where my coworker thought it was one value, and the variable was another value. "Oh, crap! I see the problem..."

    This is especially necessary for languages like C where a runaway pointer or stack overflow can trash a variable from a completely different context.

    Fortunately, they're starting to understand my debugging methods now :)

    --Stevie-O
    $"=$,,$_=q>|\p4<6 8p<M/_|<('=> .q>.<4-KI<l|2$<6%s!<qn#F<>;$, .=pack'N*',"@{[unpack'C*',$_] }"for split/</;$_=$,,y[A-Z a-z] {}cd;print lc

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (9)
As of 2015-07-03 13:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (53 votes), past polls