Primary Photo for {0} {1}

Object Calisthenics: if... elfe... refactor!

Presentation byYoan THIRION

Bienvenue dans l’atelier du Père Noël 2.0 !

Pour ce 17e jour de notre calendrier de l’Avent Coda, on vous propose un défi spécial : refactorer un code logistique elfique qui a mangé trop de spaghettis.

Au programme:

  • Découverte de notre calendrier de l’Avent et en quoi c'est un terrain de jeu idéal pour s’entraîner.
  • Object Calisthenics: 9 règles d’or pour muscler votre code (et dire adieu aux if interminables !)
  • Code Kata en pair programming: relever un défi de refactoring sous contraintes, avec un objectif : garder les tests verts tout en rendant le code plus lisible/maintenable.
  • Présentation des résultats: les binômes pourront partager leur version et on pourra comparer les approches.
  • Live coding: refactoring en direct, avec explications et astuces pour éviter les pièges.
  • Conclusion: ce qu’on retient, et comment / quand appliquer ces techniques au quotidien.

Pourquoi participer?

Pratiquer le refactoring en conditions réelles (avec des tests qui ne mentent pas !)

Découvrir des techniques de clean code applicables dans tous vos projets

Prérequis : Un IDE ou un éditeur de code et l'envie d'aider le père Noël et les elfes !

Langages possibles: Java, C#, PHP, TypeScript.

Liens utiles:

Calendrier de l'Avent disponible ici

Notre serveur Discord pour rejoindre l'aventure

Presented with these Guilds
Cover Photo for Software Crafters Montréal
Primary Photo for Software Crafters Montréal

Software Crafters Montréal

Discuss: slack.softwarecrafters.org (channel #loc_montréal)

Past meetups notes: github.com/Software-Crafters-Montreal/meetups

Recordings: youtube.com/@SoftwareCraftersMontreal

---

This group is for any developer, whoever you are, and whatever language or technology you're familiar with.

Join us if you are interested in testing, DDD, software architecture, clean code, refactoring, challenges of working with legacy code, pairing/mobbing, etc.

As Software Crafters, we improve professional software development skills through practice and helping others learn the know-how.

We do appreciate the following:

Not only working software, but also well-crafted software. Not only responding to change, but also steadily adding value. Not only individuals and interactions, but also a community of professionals. Not only customer collaboration, but also productive partnerships.

Looking for the left parts, we found that we needed the right parts.

The Manifesto for Software Craftsmanship: http://manifesto.softwarecraftsmanship.org/

Code of Conduct

Our meetup is a harassment-free place for everyone, regardless of gender, gender identity, and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of participants in any form. Sexual language and imagery are not appropriate at any time, including talks, workshops, parties, Twitter, and other online media. Participants violating these rules may be sanctioned or expelled from the meetup at the discretion of the organizers.

Detailed version: https://github.com/socrates-ca/socrates-ca.github.io/wiki/Code-of-Conduct

600Members
Similar Presentations
Cover Photo for Outside-In Discovery : une méthode structurée pour comprendre un code inconnu

Outside-In Discovery : une méthode structurée pour comprendre un code inconnu

Des études estiment que les dévs passent** jusqu'à 60 % de leur temps à lire du code**.

Pourtant, presque personne ne nous apprend à bien le faire.

Et cette compétence devient vitale : à l'heure où une part croissante du code est générée par des IA, on en écrit de moins en moins nous-mêmes, mais on doit en comprendre, en valider et en maintenir toujours plus. Du code qu'aucun humain de l'équipe ne connaît vraiment.

Face à une codebase inconnue, on ouvre des fichiers au hasard, on suit les appels de méthodes, on scrolle en espérant que ça fasse tilt. C'est lent, épuisant et risqué.

Dans ce talk, je vous présenterai l'Outside-In Discovery : une méthode time-boxée pour explorer un système couche par couche. On part de l'extérieur (documentation, CI/CD, historique git, dépendances, build, exécution) avant d'aller vers l'intérieur : architecture, hotspots, qualité des tests, faiblesses structurelles.

Sur un cas concret, on verra comment cette approche fait vite émerger les signaux critiques : dépendances obsolètes, frontières floues, couverture élevée mais mutation testing faible, zones à la fois complexes et souvent modifiées.

Puis on ajoute l'IA : reconstituer le backlog depuis le code, générer des diagrammes C4, retracer des parcours fonctionnels, repérer les code smells. Avec ses limites aussi : hallucinations, suppositions hâtives, intention métier mal comprise. Je montrerai où elle apporte un vrai levier, et où le jugement humain reste indispensable.

Vous repartirez avec une checklist, un cadre pour évaluer la santé réelle d'une base de code et des prompts concrets pour faire de l'IA un sparring partner.

Car le vrai défi, ce n'est pas le code inconnu. C'est de l'explorer sans méthode.

Primary Photo for {0} {1}Yoan Thirion
Primary Photo for {0} {1}

Object Calisthenics: if... elfe... refactor!

Presentation byYoan THIRION

Bienvenue dans l’atelier du Père Noël 2.0 !

Pour ce 17e jour de notre calendrier de l’Avent Coda, on vous propose un défi spécial : refactorer un code logistique elfique qui a mangé trop de spaghettis.

Au programme:

  • Découverte de notre calendrier de l’Avent et en quoi c'est un terrain de jeu idéal pour s’entraîner.
  • Object Calisthenics: 9 règles d’or pour muscler votre code (et dire adieu aux if interminables !)
  • Code Kata en pair programming: relever un défi de refactoring sous contraintes, avec un objectif : garder les tests verts tout en rendant le code plus lisible/maintenable.
  • Présentation des résultats: les binômes pourront partager leur version et on pourra comparer les approches.
  • Live coding: refactoring en direct, avec explications et astuces pour éviter les pièges.
  • Conclusion: ce qu’on retient, et comment / quand appliquer ces techniques au quotidien.

Pourquoi participer?

Pratiquer le refactoring en conditions réelles (avec des tests qui ne mentent pas !)

Découvrir des techniques de clean code applicables dans tous vos projets

Prérequis : Un IDE ou un éditeur de code et l'envie d'aider le père Noël et les elfes !

Langages possibles: Java, C#, PHP, TypeScript.

Liens utiles:

Calendrier de l'Avent disponible ici

Notre serveur Discord pour rejoindre l'aventure

Presented with these Guilds
Cover Photo for Software Crafters Montréal
Primary Photo for Software Crafters Montréal

Software Crafters Montréal

Discuss: slack.softwarecrafters.org (channel #loc_montréal)

Past meetups notes: github.com/Software-Crafters-Montreal/meetups

Recordings: youtube.com/@SoftwareCraftersMontreal

---

This group is for any developer, whoever you are, and whatever language or technology you're familiar with.

Join us if you are interested in testing, DDD, software architecture, clean code, refactoring, challenges of working with legacy code, pairing/mobbing, etc.

As Software Crafters, we improve professional software development skills through practice and helping others learn the know-how.

We do appreciate the following:

Not only working software, but also well-crafted software. Not only responding to change, but also steadily adding value. Not only individuals and interactions, but also a community of professionals. Not only customer collaboration, but also productive partnerships.

Looking for the left parts, we found that we needed the right parts.

The Manifesto for Software Craftsmanship: http://manifesto.softwarecraftsmanship.org/

Code of Conduct

Our meetup is a harassment-free place for everyone, regardless of gender, gender identity, and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of participants in any form. Sexual language and imagery are not appropriate at any time, including talks, workshops, parties, Twitter, and other online media. Participants violating these rules may be sanctioned or expelled from the meetup at the discretion of the organizers.

Detailed version: https://github.com/socrates-ca/socrates-ca.github.io/wiki/Code-of-Conduct

600Members
Similar Presentations
Cover Photo for Outside-In Discovery : une méthode structurée pour comprendre un code inconnu

Outside-In Discovery : une méthode structurée pour comprendre un code inconnu

Des études estiment que les dévs passent** jusqu'à 60 % de leur temps à lire du code**.

Pourtant, presque personne ne nous apprend à bien le faire.

Et cette compétence devient vitale : à l'heure où une part croissante du code est générée par des IA, on en écrit de moins en moins nous-mêmes, mais on doit en comprendre, en valider et en maintenir toujours plus. Du code qu'aucun humain de l'équipe ne connaît vraiment.

Face à une codebase inconnue, on ouvre des fichiers au hasard, on suit les appels de méthodes, on scrolle en espérant que ça fasse tilt. C'est lent, épuisant et risqué.

Dans ce talk, je vous présenterai l'Outside-In Discovery : une méthode time-boxée pour explorer un système couche par couche. On part de l'extérieur (documentation, CI/CD, historique git, dépendances, build, exécution) avant d'aller vers l'intérieur : architecture, hotspots, qualité des tests, faiblesses structurelles.

Sur un cas concret, on verra comment cette approche fait vite émerger les signaux critiques : dépendances obsolètes, frontières floues, couverture élevée mais mutation testing faible, zones à la fois complexes et souvent modifiées.

Puis on ajoute l'IA : reconstituer le backlog depuis le code, générer des diagrammes C4, retracer des parcours fonctionnels, repérer les code smells. Avec ses limites aussi : hallucinations, suppositions hâtives, intention métier mal comprise. Je montrerai où elle apporte un vrai levier, et où le jugement humain reste indispensable.

Vous repartirez avec une checklist, un cadre pour évaluer la santé réelle d'une base de code et des prompts concrets pour faire de l'IA un sparring partner.

Car le vrai défi, ce n'est pas le code inconnu. C'est de l'explorer sans méthode.

Primary Photo for {0} {1}Yoan Thirion