Rental-Movie

C'est un kata de refactoring de code sur un algorythme de gestion proche des applications de gestion que l'on trouve dans les grandes entreprises.

On trouve deux usages dans ce Kata :

  • faire connaissance avec le public du Dojo lors d'une première session
  • étudier le livre qui propose cet exercice : "Refactoring: Improving the Design of Existing Code" by William Opdyke; Kent Beck; Don Roberts; Martin Fowler; John Brant Published by Addison-Wesley Professional, 1999
  • refaire ce kata un an plus tard (en mob, en pair ou en solo) pour voir notre évolution (donc, refaire le 1ier cas)

Faire connaissance

Le Pitch

Vous êtes recruté dans une PME qui propose un logiciel de location de vidéo. Leur unique développeur précédent est parti aux états-unis pour une monter une start-up. Vous êtes donc le seul développeur sur ce code qui vous appartient. On vous laisse une semaine pour vous approprier le code avant que l'on commence à vous demandez des évolutions. Vous avez donc la durée du Kata pour refondre le code et le rendre plus à votre goût. Pour info, la prochaine grosse évolution semble être la présentation de la facturation en format web, mais c'est en dehors du périmètre du kata.

Le déroulé

Votre rôle principal est à l'invrse de tout ls autres, il s'agit de fermer les discussions entre participants ou les uns en influence d'autres. Vous pouvez rappeler l'intérêt de cet exercice : que chacun modifie le code selon ses goût pour que l'on puisse faire connaissance. Vous pouvez ausi rappeler quelques évidence :

  • Si vous avez trois actions en tête et que 'lune d'entre elle est trop longue faites la partiellement pour montrer votre idée, et passez à la suite.
  • Rien n'est grave, ce code n'ira pas en prod

Le débrief

Presque toutes les bonnes pratiques peuvent être décrites avec cet exercice :

  • Test first / tdd
  • Clean code
  • Dette technique (entropie pour les puristes)
  • SRP / SOLID
  • SLAP
  • POO / design patterne

Comme on travaille en équipe, on lit souvent le code des autres... On peut demander d'echanger les oridnateurs pour faire une revue de code un peu spéciale. Comme ce code ne vas pas en prod et que nos sessions servent à s'améliorer, la seule chose intéressante dans cette revue de code est de parler des bonnes idées de notre voisin.

Etude de Livre

Dans ce cadre, on va se donner un rythme de lecture, parler du code et rejouer ce que propose le livre sur un projecteur ou un grand écran pour en discuter ensemble. Tous les livres ayant du code exemple se prêtent a ce format de Dojo qui devient alors un club de lecture.

Les rejeus

Combien de fois avez vous relu un code d'un ancien projet preso en étant satisfait du code ? Ici, c'est pareil, vous progressez, vous évoluez, vos goûts et votre savoir faire change.

Autant le refaire une fois, un an plus tard pour moi-même est intéressant, autant en dojo je le referais plutôt en mob. En jouant l'exercice seul, on a fait connaissance avec chacun, en le rejouant tous ensemble, on voit la dynamique d'équipe, d'entre aide, etc.