Skip to content

samjonester/awesome-katas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

awesome-katas

A list of my favorite katas somewhat ranked by difficulty

What is a kata?

A kata is a small digestible fun exercise that lets you practice things. You can focus on stuff like tdd, or breaking the problem up better, or single responsibility. It’s a simple enough problem that you can do real practice without getting bogged down in the domain, deadlines, or delivery.

"There are no limits. There are only plateaus, and you must not stay there, you must go beyond them."

~Bruce Lee

Focus on form and mastery here!

Katas

String Calculator

Fizz Buzz

Yahtzee

Data Munging

Roman Numerals

Gilded Rose

Bloom Filters

Trigrams

Game of Life

Langstons Ant

Interested in TDD?

What is TDD?

TDD stands for Test Driven Design. It is a tool to help design understandable, maintainable, and easy to use components in a system. Although not the immediate goal, after the test has been written, it has the side effect of regression safety.

The Three Dogmatic Laws of TDD

  • You can't write any production code until you have first written a failing unit test.
  • You can't write more of a unit test than is sufficient to fail, and not compiling is failing.
  • You can't write more production code than is sufficient to pass the currently failing unit test.

More TDD Resources