Here's the
slide-deck
I presented at the Agilis conference in Iceland.
It contains numerous examples of the kind of improvements a group of developers typically work through in just a few
facilitated CyberDojo iterations.
Hi. I'm Jon Jagger, director of software at Kosli.
I built cyber-dojo, the place teams practice programming.
Intention revealing #include ?
In a
previous post
I described how C and C++ have a third #include mechanism.
It occurs to me that this idea has possibilities beyond simply
using LOCAL(header) as a synonym for "header" and SYSTEM(header) as a synonym for <header>
and then using the resulting seam to gain some leverage for testing.
You could also add intention revealing names.
For example, something like this:
could be written like this:
Caveat emptor: I don't have any actual examples of this in real code. It's just an idea. It feels a bit like a solution looking for a problem. But I thought I would mention the idea here to see if anyone thinks it has any legs...
#include "dice_thrower.hpp" #include <vector> class stub_dice_thrower : public dice_thrower { ... private: std::vector<int> stubbed; };
could be written like this:
#include REALIZES(dice_thrower.hpp) #include COMPOSES(vector) class stub_dice_thrower : public dice_thrower { ... private: std::vector<int> stubbed; };
Caveat emptor: I don't have any actual examples of this in real code. It's just an idea. It feels a bit like a solution looking for a problem. But I thought I would mention the idea here to see if anyone thinks it has any legs...
Subscribe to:
Posts (Atom)