Sunday, February 15, 2004

The Craftsman Series

I've been reading The Craftsman Series that are posted here. They're pretty interesting, especially for someone like me who has recently become a big-time convert to test-driven development.


  1. just a little problem with the url there you have a ']' at the end of it and it shouldn't be there ;)

  2. Whoops! Sorry about that. It has been fixed.

  3. I'm intrigued to know what you made of episode 13 where the aprentice "Micahs his Journeyman." (Aside: a phrase which kind of annoyed me. Possibly if I was as into science fiction books as Robert Martin apparently is I would understand the reference. Or maybe I'm not supposed to. It just seemed kind of pretentious. If he wants to write a sci fi novel, he should just do it... But I digress.)

    After all the suspense building I was slightly surprised when the journeymen thought (to use the vernacular popular with football [the UK kind, where you move the ball with your foot] coaches over here) that "The boy done good."

    My first thought when he moved from Jerry's clean, loosely coupled, highly portable text-based network protocol to a distributed object approach was that he'd walked straight into the classic trap: applying OO design techniques across a network boundary. Almost always a mistake. I assumed the apprentice was about to get the public humiliation he so richly deserved. And yet he is lauded for binding both client and server to a Java serialization format. Worse, if you go on to read the later episodes (which are at by the way) he goes on to start sharing inheritance hierarchies across the remoting boundary.

    I felt they had pretty much lost the plot at this point. Am I alone?

  4. I hadn't read that far. Yes, that is pretty stupid. But it's also not unexpected given the source - ivory tower types.

    Nonetheless, I found it a good example of test-first approach, regardless of your opinion of the particular architecture they chose.

    Damn, I have to get a good way to find out when someone adds a comment.

  5. You might want to check for "Micah Martin" in order to understand the private joke...