Potrei sbagliarmi, ma mi sembra che l'approccio migliore per TDD sia Soluzione, Rosso, Verde, Refactor (aggiungendo "Soluzione" alla formula standard).
Prima codificando la soluzione, mi sento molto più efficiente quando si tratta di scrivere i test effettivi. A volte, è difficile sapere quale sarà la soluzione, tanto meno quale test scrivere. Scrivere un test quando non hai idea di dove iniziare è scoraggiante. Penso che puoi anche evitare le insidie codificando rapidamente una soluzione. Al contrario, scrivere un test sembra essere solo una supposizione che un problema verrà risolto quando passa . Prima codificando, sei certo che farai le verifiche corrette.
Quindi il mio approccio è:
- Codifica la soluzione
- Commenta la soluzione e segui la formula standard (Verde, Rosso, Refactor)
Tuttavia, potrei mancare qualcosa, forse anche un punto essenziale del TDD. Forse, avendo pensato per la prima volta al problema, è meno probabile che tu faccia una serie completa di test, altrimenti il design sarà diverso a causa di ciò.