Apprendre + Équipe = Programmes


NewCrafts Paris 2023 ~ Dave Farley et Emily Bache


Les 25 et 26 mai, j'ai assisté à la conférence NewCrafts Paris 2023. C'était chouette de revoir plein de monde au même endroit ! Il y avait aussi des interventions de qualité, voilà une partie de mes notes sur ce que j'ai appris ou révisé.

Ce sont des notes très partielles, à mon usage personnel. Je vous invite à voir les vidéos des conférences qui vous intéressent quand elles seront publiées (le mois prochain normalement).

Dans ce premier article, mes notes sur les présentations de Dave Farley et Emily Bache.

Dans les suivants, j'ai prévu de partager mes notes sur les interventions de :

Dave Farley

Dave Farley est co-auteur du livre Continuous Delivery, auteur du livre Modern Software Engineering, et a travaillé sur des projets comme le LMAX Disruptor.

Voici quelques notes sur sa keynote, qui a ouvert l'édition 2023 de NewCrafts Paris.

Dans le domaine du logiciel, Dave observe souvent une confusion entre ingénierie et fabrication. Mais pour lui, la fabrication n'est jamais un problème dans le logiciel. Pour lui, dans l'ingénierie comme dans le développement logiciel, le sujet est toujours l'exploration et la découverte. Il propose donc d'optimiser pour l'apprentissage.

Optimize for learning.

Dave propose également de faire des choix qui favorisent la modularité :

Whenever you have a choice, prefer the choice that improve modularity, cohesion, separation of concerns, abstraction. If you have no good idea, gather a bunch of stupid ideas and find cheap ways to try some of them and learn more on the way.

On retrouvera une discussion sur couplage et cohésion dans l'intervention de Kent Beck à la fin de la conférence.

Note : cet écart entre ingénierie logiciel et fabrication rejoint l'avis de Jack Reeves dans son article "What is Software Design" de 1992.

Liens

Emily Bache

Emily Bache est autrice des livres The Coding Dojo Handbook et Technical Agile Coaching with the Samman Method. Elle a également publié de nombreux katas de refactoring sur sa page GitHub.

Pour NewCrafts 2023, Emily Bache a animé un atelier de refactoring. Dans cet atelier, elle a présenté deux techniques simples de refactoring sur du code legacy : Peel & Slice.

Je vous invite à explorer les liens ci-dessous pour en savoir plus sur ces deux techniques.

L'idée de Peel est d'extraire dans une fonction le code testable qui est pris entre deux tranches de code non testable. Ça permet de tester la nouvelle fonction. Le nom Peel vient de l'image d'enlever la peau non testable d'une banane.

L'idée de Slice est que dans du code testable, il y a un noyau non testable. Dans ce cas, on peut extraire le code non testable dans une variable qui est une fonction. Si on peut déplacer cette déclaration de variable / fonction en haut de la méthode, on peut maintenant appliquer Peel, sans casser l'interface publique. Et là on peut tester la méthode comme ci-dessus. Le nom de Slice vient de l'idée de couper une cerise pour en enlever le noyau.

Avantages :

Inconvénients :

Ces techniques ne sont pas nouvelles, mais j'ai trouvé très intéressant l'aspect pédagogique et la façon de les présenter ensemble, avec l'image de la banane et des cerises.

Lien

À Suivre...

C'est tout pour ce premier article. Comme indiqué en introduction, je prévois de publier quelques autres notes sur cette conférence NewCrafts 2023. À suivre :)