Unit Tests are definately a programmers friend. I wish I could give you more then one ++ for bringing this up. Lets just pretend that I gave you 2 ++ votes, and one vindictive -- vote for beating me to it. :-)
Seriously though, the only thing better then a unit test which covers all the methods and exercises all the code including error cases.... is a Perl script to run all those tests for you! After I make changes to a chunk of code, I run my tests with a single script, which tells me where all my blatant bugs are. Very useful indeed. (And gives you that nice warm feeling when the test passes)