In CS 15 (Data Structures), weâre currently doing the second of two back-to-back projects. This one is âCalcYouLaterâ, whereas the previous one was âMetroSimâ.
Iâll admit that I half-assed MetroSim to some extent. It ended up pretty fine, but my testing wasnât super thorough. I sped through testing and mostly did âmanual testingâ (which is code for âI used my program and it seemed to work as expectedâ). I didnât do much automated testing (tests that you can run over and over again, easily, whenever you change anything).
And as a result, it didnât feel super good to do. I was just trying to finish the project and get it turned in. By the end, I had that âoh well, I hope they donât take off too many pointsâ feeling.
But this time, for CalcYouLater, I settled on a robust way of testing. I wrote my own script to test my code, and I could run those tests every time I made a change to my code to make sure it still worked. It gave me an enormous amount of confidence that I hadnât inadvertently broken everything.
And as a result of doing one thing with care, I found myself putting more care into other parts of the code. For example, my comments describing my code were detailed and useful. I wrote a dozen paragraphs in the text file that describes my project. I had fun with CalcYouLater.
I think that the difference here is that I put care into building CalcYouLater, which motivated me to do a good job on other aspects of it. I was happy with the way I carefully decided to architect my code â I tested it carefully â I wrote careful and useful comments â I documented my thought process carefully.
Once I feel good about one part of something, I donât want to ruin it by doing another part hastily. And as a result, I feel better about it and it even feels somewhat fun.
I guess itâs not a surprise, but itâs a nice reminder that doing things with care is fun. Even if Iâd rather be doing one of my personal projects than a homework assignment, I can make it fun by trying to do it well.