Kata Level: 3
1° Focus: No Primitives
2° Focus: TDD By the book
Time: 60 minutes
Challenge: I had inspiration this morning from discussions happening around me and I opted to challenge folks without using any primitives for their FizzBuzz. So the output of the evaluation would be an Object that would know how to "ToString()" itself to give the right value. Evaluation would happen and return an object. No strings, no booleans and if possible even no integers.
Result: Three pairs, one mob of 3 and one mob of 4.
Discussions: Such wonderful discussions came from this. The mobs had the most active working sessions and creative ideas. To my surprise no one did the simplest possible (or at least what I think is the simplest possible) and write it out procedurally, then refactored to objects, because FizzBuzz is a tool and we can do this step without thinking. No group ended up tackling the input, everyone focused on the output. Some were returning objects that would eventually return some string. Others had nested objects that would Chain of Command through and return an object that would ToString. There was even discussion about a Builder pattern.
Everyone agreed that it was one of the better katas of late. I did ask if folks thought that they'd have liked to have had more time and it was a resounding "NO, the problem is the lie."