Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Greatest programming mistakes and what to learn from

by Stevie-O (Friar)
on Dec 23, 2004 at 07:00 UTC ( #417013=note: print w/replies, xml ) Need Help??


in reply to Re: Greatest programming mistakes and what to learn from
in thread Greatest programming mistakes and what to learn from

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://417013]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2016-10-01 23:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?






    Results (9 votes). Check out past polls.