author: Yannick François
date: 2013-12-15T23:02Z

Je pratique le TDD depuis quelques temps déjà. J'ai pu améliorer ma pratique grace au Dojo de dev. Aujourd'hui je ne sais plus faire sans.

Pour moi le TDD me permet de savoir quoi coder. Je ne pense pas a mon code, je pense juste au test, le prochain que je doit écrire. Et c'est ce changement de position qui est, je crois, le plus dur à faire pour ce sentir mieux avec cette pratique, et commencer à voir le principe de "design émergent". A partir du monent ou tu ne penses plus ton architecture/code en "design up-front", ta conception deviens émergente.

C'est très intéressant ce que tu évoque sur les frameworks ainsi que sur le dev web. Voici un déroulé assez classique pour moi (j'esère que ça ne sera pas trop long):

- je dessine la page que je veux voir (html pure, éventuellenement un poil de css)
- je click sur l'action, mais elle ne fait rien (c'est une forme de test unitaire non programmé et non reproductible à l'identique, mais un casper, ou l'enregistrement d'un scénario sélénium le permettrait... il faut que j'essaie)
- Je code l'action la plus simple possible. Si c'est juste une configuration de route, je le fait sans plus de test. Si c'est un code plus complexe, avec des validation et/ou regle métier,:
- je fait un test pour décrire ce que je veux...
- je code
- je refactor
- ...

Je vais m 'arreter là, je pourrais en parler toute la nuit. L'idée pour moi est d'avoir une approche top-down, avec des tests pour m'aider à exprimer ce que je souhaite faire, et non penser directement à ce que je veux coder.
