La mise sur étagère dans Team Foundation Version Control est l’une des fonctionnalités qui m’a le plus rapidement séduit. Classiquement, on s’en sert pour enregistrer une modification du source non achevée ( not done) mais que l’on souhaite conserver sur un serveur sauvegardé pour le récupérer en cas d’incident sur notre propre poste. Martin avait écrit un excellent billet à ce sujet. On peut également l’utiliser pour communiquer nos modifications sur notre espace de travail avec d’autres développeurs, pour fusionner le travail, lors d’un binômage etc… Récemment, j’ai surtout pris l’habitude de mettre sur étagère dans mon flux de développement en TDD (ou plutôt en Test First Programming, certains connaissent mon attachement à cette différenciation). Voici donc ce nouveau flux :
Définir le test
- Définir le test, en particulier son nom
- Ecrire les assertions (ce que je vérifie)
- Définir mes besoins (contexte, instanciation des composants testés)
- Appel de la routine à tester
Obtenir le résultat du test (Red bar)
A ce stade, le projet ne compile pas en général, puisque rien n’est implémenté. L’objectif suivant est de faire compiler ce projet.
- Je déclare les différentes variables
- j’implémente au minimum l’objet du test (création du type, de la routine)
Ici, j’en arrive au point ou je compile et il ne me reste qu’à implémenter la fonctionnalité avec l’assurance de tester automatiquement celle-ci. C’est pour moi le moment idéal d’effectuer une mise sur étagère des modifications de mon espace de travail. Celui-ci me permet d’être plus à l’aise dans l’implémentation, en cas de problème, je peux revenir en arrière par l’ensemble d’actions :
- Undo : annulation des modifications en attentes
- Get : Récupération de la dernière version (facultatif)
- Unshelve : Récupération du cadre de développement de la fonctionnalité à savoir mon test
Essayez ce flux, c’est l’adopter.