Skip to content

12 juin 2013

Emmanuel Gaillot edited this page Jun 19, 2013 · 3 revisions

Participants

Clément Hussenot
Dominique Rose-Rosette
Emmanuel Gaillot
Etienne Spillemaeker
Laurent Arnoud
Victor Goya

Ce qu'on a fait

Refactoring de code legacy (Guilded Rose), en Ruby, sur la base de https://github.com/professor/GildedRose. Ça a donné ça : afd6af.
On en a profité pour utiliser R Spec

Petites choses intéressantes évoquées lors de la session

GitRay permet de consulter un projet Github avec une interface de type explorateur de fichiers dans un navigateur
RubyFuse. "RubyFuse is a library aimed at allowing Ruby programmers to quickly and easily create virtual filesystems"
Therapeutic Refactoring, une présentation de Katrina Owen qui détaille un exemple de refactoring de code inconnu à base de TDD
vim-texobj-indent est un plugin Vim pour définir des text objects en fonction de l'indentation de code (très utile pour du Ruby, Coffeescript, Python, Sass, etc.)
On a aussi parlé d'un jeu-défi, les "6 degrés de Kevin Bacon", une variante du kata "chaînes de mots".

Ce qu'on a appris

On a vu comment rapidement installer un harnais de tests de non-régression sur du code legacy (en conservant une instance du code initiale, et en comparant les résultats retournés avec la nouvelle instance). Il s'agit de la technique du Golden Master. Cette technique permet notamment d'éviter la tentation d'écrire les tests fonctionnels de non-régression à partir de la spec, qui peut être fausse, ou non respectée.

On a vu comment utiliser l'outil Simple Cov pour sentir le taux de couverture de nos tests sur le code à reprendre en main.

Une stratégie intéressante pour préparer un remaniement plus gros à venir : surcharger la fonctionnalité telle qu'implémentée actuellement, en passant un callback comme paramètre du constructeur.


Session précédente le 29 mai 2013 - Session suivante le 19 juin 2013.
Voir aussi : Prochaine Session

Clone this wiki locally