Simple TicTacToe kata.
The rules of the tic tac toe game are the following:
* a game is over when all fields are taken
* a game is over when all fields in a column are taken by a player
* a game is over when all fields in a row are taken by a player
* a game is over when all fields in a diagonal are taken by a player
* a player can take a field if not already taken
* players take turns taking fields until the game is over
* there are two player in the game (X and O)
See Wikipedia - TicTacToe for all the info.
Try following Object Calisthenics by Jeff Bay
In the following, I will review each of these 9 rules listed below:
* only one level of indentation per method
* don't use the else keyword
* wrap all primitives and strings
* first class collections
* one dot per line
* don't abbreviate
* keep all entities small
* no classes with more than two instance variables
* no getters/setters/properties