Kotlin Refactoring Katas

A collection of katas either copied or ported from some amazing folks.


  • Make it easy to practice your refactoring skills in Kotlin without cloning or searching for individual repos.

What’s in here?

The following list contains katas grouped under the names of folks who maintain them along with the number of lines of
code sorted by ascending order. While LOC may not say much, you can still use it as a proxy to gauge the complexity of
the problem each exercise presents.

Emily Bache

Declan Hopkins


Feel free to use any tool or technique you see fit to practice your refactoring skills. All exercies in the repo have
JUnit 5 as the default testing framework for you to get started with.

The modules do not have an assertion library or any other tools apart from JUnit 5.


The following are some of my favorites, and I might be biased. So feel free to do your research and pick the ones that
suit your use case.

  • IntelliJ IDEA – Obvious, for it’s Kotlin support and IDE-assisted refactoring
  • Truth – Assertion library.
  • ApprovalTests.Java – For bringing large portions of code under test
  • ApprovalTests IntelliJ Plugin – IDE support for
    ApprovalTests, only supports Kotlin at the moment.
  • TCR Extension – A TCR extension that can accelerate the pace of your
    refactoring workflow.


Various, please check out individual modules for the appropriate licenses.


View Github