tdd le principe de priorite des transformations
DESCRIPTION
TRANSCRIPT
![Page 1: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/1.jpg)
TDD & Le Principe de Prioritédes Transformations
Eric Lefevre-ArdantAgile France 27 Mai 2011
http://ericlefevre.net/ - http://twitter.com/elefevre
![Page 2: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/2.jpg)
Prérequis
● TDD● Ordinateur
![Page 3: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/3.jpg)
Au programme
● Implémentation en TDD classique● Introduction aux Transformations● Implémentation avec Transformations
![Page 4: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/4.jpg)
Implémentation classique
http://www.flickr.com/photos/elefevre/5523345912/
![Page 5: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/5.jpg)
Introduction aux Transformations
http://www.flickr.com/photos/elefevre/2744262464/
![Page 6: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/6.jpg)
Refactorings vs. Transformations
![Page 7: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/7.jpg)
if > récursion > boucle
![Page 8: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/8.jpg)
Règle 1
En codant, préférer les transformations les plus prioritaires
![Page 9: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/9.jpg)
Règle 2
Préférer les tests qui peuvent être passés avec les transformations les
plus prioritaires
![Page 10: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/10.jpg)
Règle 3
Revenir en arrière pour voir s’il n’y aurait pas un test qui permettent une
transformation plus prioritaire.
![Page 11: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/11.jpg)
Implémentation avec Transformations
http://www.flickr.com/photos/elefevre/5014954493/
![Page 12: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/12.jpg)
A retenir...
http://www.flickr.com/photos/elefevre/5090027951
![Page 13: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/13.jpg)
Opérations arithmétiques == fonctions
http://www.flickr.com/photos/elefevre/3943421085/
![Page 14: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/14.jpg)
La Récursion est prioritaire (?)
http://www.flickr.com/photos/elefevre/5681328034/
![Page 15: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/15.jpg)
L'ordre des priorités est à raffiner
http://www.flickr.com/photos/elefevre/5383402081/
![Page 16: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/16.jpg)
Ne pas hésiter à revenir en arrière
http://www.flickr.com/photos/elefevre/2815032208
![Page 17: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/17.jpg)
Connaissance du domaine nécessaire
http://www.flickr.com/photos/elefevre/2812899993
![Page 18: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/18.jpg)
Difficile d'ajouter des fonctionnalités
http://www.flickr.com/photos/elefevre/2813914543/
![Page 19: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/19.jpg)
Autres transformations ?
http://www.flickr.com/photos/nukeit1/244748817/
![Page 20: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/20.jpg)
"To understand the limits of a technique,overuse it then back off."
Steve Freeman, 22 avril 2011http://twitter.com/#!/sf105/status/61423778055462912
![Page 21: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/21.jpg)
Références
● http://cleancoder.posterous.com/the-transformation-priority-premise
![Page 22: TDD Le Principe de priorite des transformations](https://reader035.vdocuments.net/reader035/viewer/2022070301/5463285eb4af9f5d1c8b4b09/html5/thumbnails/22.jpg)
Programme
● 09h30-09h45 Introduction● 09h45-10h15 Implémentation en TDD classique● 10h15-10h30 Introduction aux Transformations● 10h30-11h00 Implémentation avec Transformations● 11h00-11h30 Pause● 11h30-11h45 Rétrospective Intermédiaire● 11h45-12h15 Implémentation avec Transformations (suite)● 12h15-12h30 Rétrospective● 12h30-13h00 Démo