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

Re: General Debugging Tips

by dragonchild (Archbishop)
on Jun 10, 2005 at 01:20 UTC ( [id://465379]=note: print w/replies, xml ) Need Help??


in reply to General Debugging Tips

  1. Break the code up into manageable chunks. If it's "well-documented", 10-1 it's already this way.
  2. Find a bug in one manageable chunk.
  3. Write a test for it using Test::More.
  4. Make sure the test fails.
  5. Because the code has to be in this manageable chunk (no more than 1-5k lines), it shouldn't be hard to zero in on the problem.
  6. Fix the problem.
  7. Rerun the test and see it pass.

You now have the beginnings of a test suite. Never remove a test, unless the requirements change. Every test should always pass, unless you wrote it because you're changing something, in which case it should fail until you finish changing it.

That's it. Nothing to it.


  • In general, if you think something isn't in Perl, try it out, because it usually is. :-)
  • "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?"

Replies are listed 'Best First'.
Re^2: General Debugging Tips
by cbrandtbuffalo (Deacon) on Jun 10, 2005 at 11:55 UTC
    Embedded in [id://dragonchild]'s response is the suggestion that the skills you really want to hone are testing skills. You'll find a bunch of information on PerlMonks about testing with Perl and it really is becoming a crucial tool for a coder. Basically, testing is learning to pour your debugging skills into scripts so everyone can benefit (including you when you are looking at code later).

    The good news is that test scripts are often smaller scripts so you'll be comfortable with them.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-03-29 05:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found