Tell! Don't ask!

This is a Constraint - not a Kata!

Constraints can be applied to any given Kata to focus on specific techniques and / or practices. They are meant as an extreme perspective so you can clearly feel the difference to what you do usually.


  • No return values
  • No side effects changing “global variables”
  • Don’t use exceptions as return values

Yeah, really… That’s the whole show. If you try this for the first time it might seem impossible or not very useful. Trust us, you will find a design that you didn’t consider before. And maybe one day in production you will remember…

In some languages you will need a mocking framework to write proper test.

Believe us: you can do it!

Image credits

Image by Rachel M. Carmena. It represents a greeting of respect and gratitude made at the beginning and at the end of a kata.