@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@SHODOioFR
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Techleaderie JavaScriptale
Coachologie
Craftsmanshippienne
Coachologie Technique
Patient: OpenWhyd.org
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Glaucome de la lisibilité du code
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
Rigidité (pré-cadavérique) : Ramener de la lisibilité cause des bugs
Fragilité : Une modification mineure dans le Controlleur casse la base de données
Immobilité : Le transfert de la création des requêtes de base de données vers la couche de persistence est compliqué
Opacité : Compréhension et lisibilité du code limitées
Viscosité : remboursement des tests et séparation des responsabilités coûteux en l'état
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
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
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Nommage explicite dans le code ↘️Opacité
Réduction de la charge cognitive ↘️Opacité
Single Level of Abstraction
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Immobilité :
La logique métier est peu réutilisable car diffuse dans le Controller et la persistence
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@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
source: beyondxscratch.com
@AdrienJoly
@JulienTopcu
@JkNourry
Complexité Essentielle
Complexité Obligatoire
Complexité Obligatoire
↘️Complexité Accidentelle
Infrastructure
@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
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Couplagectomie
@AdrienJoly
@JulienTopcu
@JkNourry
Couplagectomie
@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
@AdrienJoly
@JulienTopcu
@JkNourry
Création de tests fonctionnels ↘️Opacité ↘️Viscosité
Définition et détourage des responsabilités ↘️Opacité ↘️Immobilité ↘️Viscosité
Objets métier, API & SPI du domaine
Isolation du domaine ↘️Fragilité ↘️Rigidité
Utilisation strict des objets métier & SPI
Rapatriement de la logique métier ↘️Rigidité ↘️Fragilité ↘️Immobilité ↘️Viscosité
Typage ↘️Opacité ↘️Fragilité ↘️Viscosité
JSDoc
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Infrastructure
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Structure de données de la persistence explicite ↘️Opacité ↘️Viscosité
UserDocument
Anti-Corruption Layer ↘️Fragilité ↘️Rigidité ↘️Viscosité
Contrat de UserCollection dépend que des objets métier
Mapping UserDocument => User, parseInt(id), initialisation de Playlist[]
Externalisation de la migration de données ↘️Fragilité ↘️Rigidité ↘️Viscosité
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Couplagectomie
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Découplage des différents organes ↘️Rigidité ↘️Immobilité
Controller, Domaine, Persistence
Composition Root (Application)
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
@AdrienJoly
@JulienTopcu
@JkNourry
Approval Tests
Functional Tests
?
?
@AdrienJoly
@JulienTopcu
@JkNourry
Décommissionnement des Approval Tests ↘️Opacité ↘️Fragilité ↘️Viscosité
Tests fonctionnels
Tests d'intégration du Controller
Tests d'intégration de la Persistence
@AdrienJoly
@JulienTopcu
@JkNourry
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
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