Ho iniziato a scrivere applicazioni per giochi di carte. Alcune classi di modelli:
- CardSuit, CardValue, Card
- Deck, IDeckCreator, RegularDeckCreator, DoubleDeckCreator
- Consiglio
- a mano
e alcune classi di gioco:
- Turn, TurnHandler
- IPlayer, ComputerPlayer, HumanPlayer
- IAttackStrategy, SimpleAttachStrategy, IDefenceStrategy, SimpleDefenceStrategy
- GameData, gioco
sono già stati scritti. La mia idea è di creare un motore, in cui due giocatori di computer possano giocare e poi aggiungere la parte dell'interfaccia utente.
Già da un po 'di tempo sto leggendo su Test Driven Development (TDD) e ho l'idea di iniziare a scrivere un'applicazione da zero, poiché attualmente ho la tendenza a scrivere codice non necessario, che sembra utilizzabile in futuro. Anche il codice non ha alcun test ed è difficile aggiungerli ora.
Sembra che TDD possa migliorare tutti questi problemi - il minimo del codice necessario, una buona copertura di test e potrebbe anche aiutare a trovare la giusta progettazione dell'applicazione.
Ma ho un problema: non riesco a decidere da dove iniziare TDD? Dovrei iniziare dal basso? Classi correlate alla carta o da qualche parte in cima - Gioco, TurnHandler, ...?
Con quale classe inizieresti? E quali sarebbero i prossimi 5 o 7 test? (usa il gioco di carte che conosci meglio)
Vorrei avviare TDD con il tuo aiuto e poi continuare da solo!