Similaire à Le TDD signifie-t-il qu'il ne faut pas penser à la conception des classes ? J'ai du mal à penser à la place de l'étape traditionnelle de "conception" dans le TDD.
Selon le Bowling Game Kata (la version "conversation", dont le lien m'échappe pour le moment), le TDD semble ignorer les décisions de conception prises dès le début (rejet de l'objet "frame", objet "roll", etc.). Je peux voir dans cet exemple que c'est une bonne idée de suivre les tests et d'ignorer vos idées initiales de conception, mais dans les projets plus importants ou ceux où vous voulez laisser une ouverture pour l'expansion / personnalisation, ne serait-il pas mieux de mettre des choses dans que vous n'avez pas un test pour ou n'avez pas un besoin immédiat afin d'éviter des réécritures coûteuses en temps plus tard ?
En bref, à quel point la conception est-elle excessive dans le cadre du TDD, et à quel point dois-je suivre cette conception lorsque j'écris les tests et le code pour les faire passer (en ignorant ma conception pour ne me soucier que de faire passer les tests) ?
Ou bien je m'inquiète pour rien, et le code écrit simplement pour suivre les tests est no (en pratique) difficile à réécrire ou à remanier si vous êtes coincé ? Ou bien, est-ce que je passe à côté de l'essentiel et que je devrais plutôt être en attendant de réécrire des parties du code lorsque je viens tester une nouvelle section de la fonctionnalité ?