Published on 14 May 2014.
Today’s thought is about using exploration to implement a function.
Lately, I’ve been experimenting with doctest in Python. Doctest allows you to write examples in the documentation string of a function that can be executed and checked automatically.
One approach I’ve used that I find valuable at times is to write an example where I make a call to the function I’m developing and expecting the outcome to be something it will obviously not be. Then when I run the example, I see the output (because it doesn’t match what I stated the expected output should be). At this point I can continue the implementation and see how the output of the function changes. When I’ve reached the desired result, I can copy the output of the example into the documentation string, and I now have a regression test.
Sometimes this exploratory style of programming has been useful. Sometimes I’ve ended up throwing the code away because what I was trying to do turned out to be a bad idea. But I like the exploratory environment with a doctest example and seeing the output change.
–
What is Rickard working on and thinking about right now?
Every month I write a newsletter about just that. You will get updates about my current projects and thoughts about programming, and also get a chance to hit reply and interact with me. Subscribe to it below.