-
Notifications
You must be signed in to change notification settings - Fork 2
12 juin 2013
Clément Hussenot
Dominique Rose-Rosette
Emmanuel Gaillot
Etienne Spillemaeker
Laurent Arnoud
Victor Goya
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
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".
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