Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
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


Comment on Re^2: Greatest programming mistakes and what to learn from
Download Code

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 contemplating the Monastery: (5)
As of 2015-07-06 06:42 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 (70 votes), past polls