Refactorer legacy, même pas peur !
Présenté par Johan Martinsson, Développeur chez ChangIT, & Rémy Sanlaville, Expert chez Orange, dans le track Agile.
Le code legacy est souvent synonyme de difficilement lisible et évolutif. Refactorer le code reste trop dangereux sans disposer de tests. Néanmoins, les écrire préalablement est souvent perçu comme TRÈS long et n’est donc pas fait. Est-ce possible à la fois d’écrire très rapidement des tests qui ont une couverture de code proche de 100% et qui ne sont pas fragiles au remaniement du code et du design ? OUI, en utilisant l’approche Golden Master.
L’idée est d’écrire des tests temporaires spécifiques à l’activité de refactoring qui bombardent la partie du code à remanier en faisant varier les arguments en entrée et compare la sortie avec une référence qui a été enregistré avec le code initial. Le tour de force est d’automatiser tout cela grâce un outillage adapté comme Approvals Test. Après le refactoring, ces tests temporaires seront facilement remplacés par des tests traditionnelles, maintenables.
A travers un démo live, nous montrons comment cette méthode rend un exemple, de prime abord complexe*, simple à tester.
Par complexe nous entendons ce-coup-ci xml important en entrée, webservices tiers, effets de bord sur disque
- Mon avis :
Recent Comments