Our 6th coding dojo was a middle of the day event where we went through the Gilded Rose Kata in C#. These was a great exercise in working with legacy code, and we were able to build our unit tests, make the required change, validate the unit tests all worked, and then started refactoring code to better use object oriented programming principles.
Our main takeaway was that in the real world when given some code written by folks a long time ago with no unit tests and no documented legacy requirements, we would take some time to determine and document some acceptance requirements around the code we are changing, turn those into some acceptance tests, and then use TDD on our specific changes we are introducing. We know that we can’t document all requirements or create full acceptance test coverage, but even a little coverage would reduce the risk of a change to legacy code.
For our next dojo, we are going to look at doing a kata that requires F#.
My thanks go out to Susheel, Rajesh, and Glynn for their contributions to the dojo today.