⚠️ Attention,

Ce talk contient du code pouvant heurter la sensibilité des plus crafts.

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Shodo.io

@SHODOioFR

Architecturoplastie hexagonale d’un backend Node.js : Opération à code ouvert       

@AdrienJoly

@JulienTopcu

@JkNourry

👨🏽‍⚕️

👨🏽‍⚕️

👨‍⚕️

@AdrienJoly

@JulienTopcu

@JkNourry

Dr. Adrien Joly

Techleaderie JavaScriptale

No Dr. Julien Topçu

No Dr. Jordan Nourry

Coachologie
Craftsmanshippienne

Coachologie Technique

👨🏽‍⚕️

👨🏽‍⚕️

👨‍⚕️

Patient: OpenWhyd.org

@AdrienJoly

@JulienTopcu

@JkNourry

Préparation du terrain opératoire:

Biopsies Clean Codiennes

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Diagnostic

Glaucome de la lisibilité du code

 

Identification de la Pathologie

Couplage métastasé (fort) entre les différents organes (couches)

 

Hémorragie généralisée des responsabilités

Métier, base de données, parsing de requête

 

Malformation du système TESTo-endocrinien

Manque de pertinence et ciblage précis de l'erreur, filet de sécurité défaillant

 🩺

@AdrienJoly

@JulienTopcu

@JkNourry

Renforcer la surveillance des constantes du patient : Approval Testoscopie

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

💉

Bilan d'étape

Ciblage chirurgicale des erreurs                                                                             ↘️Opacité  

 

Contrats d'entrée et sortie rendus explicites                                                        ↘️Opacité

 

Filet de sécurité des Approval Tests permettant un pivot de refactoring        ↘️Viscosité

 

@AdrienJoly

@JulienTopcu

@JkNourry

Réduction de la charge mentale tumorale par Clean Codepexie

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

💉

Bilan d'étape

Nommage explicite dans le code                                                                            ↘️Opacité

 

Réduction de la charge cognitive                                                                            ↘️Opacité

Single Level of Abstraction

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

3 formes de Complexité

Essentielle

Obligatoire

Accidentelle

@AdrienJoly

@JulienTopcu

@JkNourry

Architecture Hexagonale

Le Traitement

source: beyondxscratch.com

@AdrienJoly

@JulienTopcu

@JkNourry

source: beyondxscratch.com

@AdrienJoly

@JulienTopcu

@JkNourry

source: beyondxscratch.com

@AdrienJoly

@JulienTopcu

@JkNourry

source: beyondxscratch.com

@AdrienJoly

@JulienTopcu

@JkNourry

source: beyondxscratch.com

@AdrienJoly

@JulienTopcu

@JkNourry

Complexité Essentielle

Complexité Obligatoire

Complexité Obligatoire

↘️Complexité Accidentelle

Infrastructure

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Introduction de la couche métier : Domainoplastie

@AdrienJoly

@JulienTopcu

@JkNourry

Incision

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Domaine Passe-Plat

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

Domaine Passe-Plat

@AdrienJoly

@JulienTopcu

@JkNourry

Greffe de la logique métier par lobotomie de la couche de persistence

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Couplagectomie

@AdrienJoly

@JulienTopcu

@JkNourry

Couplagectomie

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Anastomose Domaino-persistence

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Infrastructure

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Couplagectomie du Controller

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Couplagectomie

@AdrienJoly

@JulienTopcu

@JkNourry

@AdrienJoly

@JulienTopcu

@JkNourry

Opération du Patient

@AdrienJoly

@JulienTopcu

@JkNourry

Recoudre le patient : 
Intégration Testorraphie par ablation des Approval Tests

 

@AdrienJoly

@JulienTopcu

@JkNourry

Approval Tests

Functional Tests

?

?

@AdrienJoly

@JulienTopcu

@JkNourry

💉

Bilan de l'opération

Stratégie de Refactoring non prédictive

Test & Learn, Fail Fast, Mikado

 

Besoin d'un filet de sécurité efficace

Approval Tests

 

Réduction de la charge cognitive                 

Clean Code, Typage

 

@AdrienJoly

@JulienTopcu

@JkNourry

💉

Bilan de l'opération

Augmentation de la Robustesse

Ajouts de ≠ types de tests

Structure de données et Contrats explicites

Externalisation de la migration de données

 

Augmentation de la Maintenabilité

Emergence & Isolation du Domaine

Ségrégation des Responsabilités
Gestion des
≠ complexités via l'Architecture Hexagonale

Tests F.I.R.S.T.

 

@AdrienJoly

@JulienTopcu

@JkNourry

MERCI

N'oubliez pas de noter ce talk ! 🙏