A code kata a software development exercise where a developer seeks to regularly practice new skills within a fixed amount of time, the kata practice session.
The code variant of a kata derives from the karate kata, an exercise focusing on repetition of a form with incremental improvement every time a form is repeated.
Code katas should have a duration of 30 to 90 minutes. The focus of a code kata is not to solve a problem, as is typically the task of software engineering. Rather, the focus is on practice of a particular code skill, such as file IO.
A hypothetical comparison between code development and code kata (practice) follows:
code development | code kata | |
---|---|---|
time | open ended | 30 to 90 minutes |
frequency | as needed | daily/weekly |
objective | problem solution | skill practice |
- What's bad about Julia?
- In-depth: Functional programming in C++
- Cool look at how John Carmack approaches using some FP concepts in C++.
- Summary: Matches a lot of what we discuss, but with more nuance. He's more explicit about when to mutate.