La prémisse était que Brad devait créer un système de facturation des abonnements qui déclenche des factures périodiques et met également à jour l'enregistrement du client - en utilisant C # et xUnit.net (le cadre de test de Brad qu'il a créé avec Jim Newkirk). Pour beaucoup, cela semble simple. Pour ceux qui ont mis en œuvre une telle chose - c'est tout sauf.
La chose que j'ai vraiment, vraiment appréciée dans cet épisode, c'est que j'ai poussé Brad juste assez pour retirer le "placage de démonstration" - je lui ai donné une courbe d'environ 30 minutes où j'ai dit "Oh oui ... ai-je mentionné que nous faisons aussi X ? " - et il a dû s'adapter.
Lorsque vous avez un tas de tests qui supposent une chose, vous devez passer à une autre - c'est une douleur dans le cul. Mais Brad l'a incroyablement bien géré - saisissant l'occasion pour pousser plus de structure dans son processus de test, puis un par un «transition» ses anciens tests dans la nouvelle approche.
Nous avons travaillé toute l'heure dans un seul fichier de code - et je n'avais jamais vu quelqu'un faire cela auparavant. Bien sûr, j'ai créé une classe juste à l'intérieur du code - mais en regardant Brad tourner classe après classe, puis renommer, puis supprimer, puis restructurer complètement ses tests ... c'était très, très intéressant.
Ils disent toujours que le TDD est un "processus de conception" - pourtant je ne l'ai jamais vu utilisé d'une manière vraiment "design-y" - comme un peintre pourrait jeter couleur après couleur sur une toile jusqu'à ce qu'il soit / se sente bien. Et c'est exactement ce que ça faisait de le regarder.
Environ 15 minutes à Brad mentionne que «je laisse une classe dans le fichier de test jusqu'à ce qu'il soit prêt à être rendu public» - ce qui signifie qu'il a suffisamment de tests pour justifier ses décisions de conception. Un concept auquel je n'avais jamais vraiment pensé auparavant - un peu comme utiliser le fichier de test comme un «utérus».
Il a «senti» son chemin à travers la création du système de facturation - se parler tout le temps et créer quelque chose d'assez intéressant et sacrément proche de ce que nous avons fini après près de 3 ans en direct.