Since the kata was meant to be an introducction to TDD, we had first a short talk explaining a bit what TDD is about.
The talk took longer than I expected because we discussed about topics, such as, TDD, object-oriented design or refactoring. Thanks for the questions and comments, I think they lead to interesting discussions.
Then we started the kata working in pairs.
In the Fractions Arithmetic kata you have to develop the arithmetic of rational numbers but, in this occasion, we limited ourselves to just developing the addition of rational numbers. We modeled the rational numbers as value objects and the fractions had to be reduced.
Álvaro and I went from pair to pair commenting with them their approaches, helping when some pair was stuck, talking about some possible refactorings, etc.
I enjoyed the experience a lot and I hope all participants took something useful home.
We talked about some books and talks that might be interesting to learn more about TDD.
These are the links:
-
TDD books.
- Test Driven Development: By Example by Kent Beck. Read it to know first-hand the original TDD source
- Diseño Ágil con TDD by Carlos Blé. A very interesting explanation of TDD in Spanish which has a Creative Commons license
- Growing Object-Oriented Software Guided by Tests by Steve Freeman and Nat Pryce. A wonderful advanced TDD and OO book which illustrates the london School of TDD.
- Test Driven, Practical TDD and Acceptance TDD for Java Developers by Lasse Koskela. A really great TDD book. Its second part is specially dedicated to apply TDD to specific Java technologies
- Modern C++ Programming with Test-Driven Development by Jeff Langr. Another great book on TDD which, due to its more recent publication, also contains explanations and worked examples on the Transformation Priority Premise and the Mikado method.
-
Refactoring books.
- Refactoring, Improving the Design of Existing Code by Martin Fowler. A must-read.
- Refactoring to Patterns by Joshua Kerievsky. Another great book which reconciled two worlds.
-
Some more advanced talks we mentioned (and an extra one I forgot to mention):
- Listening to Test Smells by Steve Freeman
- Design How Your Objects Talk Through Mocking by Konstantin Kudryashov
- Fractal TDD: Using tests to drive system design by Steve Freeman
Thanks to all for coming. We'll see each other in the next one.
No comments:
Post a Comment