Monday, January 16, 2012

In the Eye of a Storm, Perhaps

At the start of the day, I was a sad little coder.  None of my remove or destroy methods were working.  They would either throw unhandled exceptions or they would simply have no effect.  Some careful debugging and a few rough sketches on scratch paper exposed the problem.  (Yes, one singular logic problem in one pesky little function.)

Look! I removed node I and it took G and J along with it, as it should. Also, you can see that the sibling function works. But is the level count correct? Should we be counting the root?
So now, as far as I can tell, all methods in all classes are working.  However, this is only the findings of my own testing, about which I have some serious reservations.

  • My testing is certainly less thorough than Professor Keenan's, and I haven't tried using his unit tests yet. The messages on the discussion boards make it sound like I'll be facing trouble when I try to integrate the unit test code.
  • In order to implement proper recursion, I had to modify several of the method signatures from what the PA1 assignment write-up specified. I'm afraid of what might happen if they're not compatible with Keenan's test code.
  • I made assumptions about how some functions should work, like whether they should print recursively, and whether the root counts as a level. I don't know how heavily this will be weighed in the grading if I turn out to be wrong.
  • I haven't verified beyond a doubt that there are no memory leaks.

I haven't slept much lately, so I'm calling it a night for now.  I'm ending on a high note believing that I have fulfilled all of the requirements for PA1, but in the back of my mind, I fear what the future may bring.  I may just be in the eye of the PA1 storm.

Goodnight!  Sleep tight!  Don't let the software bugs byte!

No comments:

Post a Comment