Smelly Tic Tac Toe
We created a very smelly implementation of TicTacToe. There are quite a few code smells in the implementation:
Bloaters
- Long method
- Long parameter list
- Primitive obsession
- Data clump
- Large class
Couplers
- Feature envy
- Message chain
Change Preventers
- Divergent change
- Shotgun surgery
Dispensables
- Lazy class
- Data class
- Comments
- Dead code
- Duplicated code
Start by identifying the smells and then slowly refactor the code. Remember to keep the tests passing at all times during the refactor. It's ok to revert back to a previous working state at any moment.