Ranger chaque classe à sa juste place by Benoit Gantaume

Ranger chaque classe à sa juste place

Artisan Développeur : Niveau 2

La boue, ça glisse...

Quand tu utilises un langage objet, tu peux avoir l’impression que les objets sont naturels, qu’ils sont faciles à créer.
C’est comme dire que par ce qu’un téléphone ou un ordinateur est facile à utiliser, c’est facile de le fabriquer.
En fait non, c’est tout le contraire. C’est très difficile de créer des objets qui soient faciles à utiliser.

C’est bien le souci. En début de projet, on découvre le métier et comment l’application va être utilisée. Alors on créé un objet, puis deux. Ils démarrent leur vie et puis le projet s’enrichit progressivement.
Si tu n'y prends pas garde, tu as vite fait de te retrouver avec une grosse boule de boue !

Et la boue, ça glisse...
Petit à petit tu glisses sur une pente dangereuse et tu perds la maîtrise de ton code. A chaque fois que tu veux utiliser un morceau, tu es obligé d'emporter la moitié de l'application.
Tu te rends bien compte que tu t'enfonces progressivement, c'est étouffant.
Alors tu prends ton courage à deux mains, plein d'espoir, et tu te promets de faire les choses proprement : d'écrire des tests, nettoyer tout ce code mal rangé, tout ça, tout ça...

Mais la réalité te rattrape vite : tous les concepts sont comme de beaux objets en vitrine. Ils te font envie, mais ne t'aident pas forcement dans ton quotidien.  En plus apprendre de nouvelles choses tout en ayant à gérer un existant, c'est juste super difficile

Tout nettoyer

Tu as entendu parler du principe de responsabilité unique, mais comment l’appliquer concrètement ?
Y’en a même qui pensent que c’est une ânerie ! 😱

Le souci c’est que comprendre les concepts est une chose, savoir les mettre en pratique en est une autre ! 🤯
En plus, il faut apprendre à le faire en ayant un code existant qui n’arrange rien.
Pour peu que tu te sentes seul devant ton IDE, comment savoir par quel bout prendre tout ça ?

C’est justement pour ça que j’ai créé ce module : t’aider concrètement à mettre en oeuvre les premiers principes d’un design durable.
Je décortique avec toi les règles qui guident notre travail et je te montre comment faire avec du code existant.
Je veux t'apporter des outils concrets que tu vas mettre en oeuvre dès la fin de cette formation.

Dans une heure, tu commences à tout nettoyer !

En plus je reste avec toi tout au long de la formation : si tu ne comprends pas quelque chose, je suis disponible par email.

Donc si tu veux progresser et acquérir des compétences profondes de conception durable valables quelque soit le langage objet que tu utiliseras, rejoins-nous !

Dans ce module de formation, on voit :

  • Comment mettre en oeuvre concrètement le principe de responsabilité unique.
  • Comment partir d’un pôt de code confus pour l’améliorer en faisant émerger les concepts.
  • Comment utiliser le principe DRY et ton instestinomètre.
  • Quand prendre une décision ou ne pas la prendre.
  • Mes trois patterns de refactoring favoris pour transformer n’importe quel bout de code aussi moche soit-il en un code propre de première classe.

Vous allez recevoir :

Video Icon 5 vidéos File Icon 5 des dossiers

Contenu

Introduction
4 min
#1 - Une question de responsabilité
26 min
#2 - Mes 3 patterns de refactoring préférés
22 min
#3 - Quand prendre une décision, ou pas
16 min
Conclusion
2 min
Audio
Introduction
4 min
#1 - Une question de réponsabilité
26 min
#2 - Mes 3 patterns de refactoring préférés
22 min
#3 - Quand prendre une décision, ou pas
16 min
Conclusion
2 min

Le cursus Artisan Développeur

Le cursus complet se découpe en 7 modules :
  1. Les trois clefs d’une conception durable
  2. Ranger chaque objet à sa juste place
  3. Démêler le plat de spaghetti
  4. Prendre une décision d’architecture
  5. Ecrire des tests unitaires
  6. Comment éradiquer les bugs et se passer du debuggeur
  7. Mettre en oeuvre des métriques de code
Pour l'instant seuls les modules 1 et 2 sont disponibles. Je prévois de produire les suivants à un rythme d'un par mois.

Ce cursus est le fruit de dizaines d’heures de travail, de centaines d’heures de lectures, de milliers d’heures d’expérience accumulées pendant 18 ans de carrière.
Alors tu as le choix entre lire des tonnes de livres et tâtonner pendant des années, ce qui est une bonne option, ou alors tu n’as pas ce temps et tu veux un condensé structuré que tu vas directement pouvoir mettre en oeuvre.

Tu peux acheter chaque module indépendamment : mon objectif est de permettre au plus grand nombre d'y accéder à son rythme.
Ce module de formation correspond au second module du cursus. Si tu ne le découvres que maintenant, je t’invite à commencer par le premier module !

Témoignages

«De formation C/C++, avec de la conception UML, des design patern, de la POO (forcément) j'ai voulu suivre le module proposé par Benoît, car il a fait une veille sur la conception ces 15 dernières années que j'ai négligé.
Sa vision très pragmatique et concrète peut te permettre de voir comment faire un beau design aujourd'hui, toi qui à déjà de l'expérience, et si tu débutes, ce sont des bases inestimables sur lesquelles dois t’appuyer pour apprendre à concevoir des logiciels durables et agréables à vivre. »
Nicolas Bouteiller

Ton formateur

Benoit Gantaume est tombé dans la marmite de la startup depuis l’école d’ingénieur. Les startups sont des environnements particulièrement exigeants sur la vélocité et la capacité d’adaptation. Cela se traduit par des changements de directions fréquents qu’il faut savoir gérer pour garder une base de code saine. C’est avant tout son expérience qu’il partage dans ses écrits sur artisandeveloppeur.fr, son livre sur 'JUnit et l’écriture de tests automatiques' ou le podcast quotidien qu’il anime.
Développeur, auteur, formateur, vacataire, consultant sont autant de manières différentes d’exprimer une même passion pour le code.

Photo by Iñaki del Olmo on Unsplash

FAQs

Quels sont les pré-requis ?

Il faut que tu saches déjà écrire du code objet dans un langage de ton choix.
Idéalement tu as commencé par le module 1 qui pose les bases du travail.

Se faire rembourser ?

Tu as 30 jours pour me dire si tu n'y trouves pas ton compte. Il te suffit de m'expliquer ce qui ne te convient pas ou ce qui t'a manqué et je te rembourse sans autre condition.

Est-ce que j'accéderai tout de suite à ma formation ?

Oui, la formation est en ligne.

Quel est le format de contenu ?

La formation sera sous forme vidéo. Tu pourras aussi la télécharger en audio.

Mon accès est-il limité dans le temps ?

Non.
Tu auras toujours accès au contenu.

Est-ce que ça va marcher pour moi ?

Que tu sois en Freelance ou employé, que tu lances un nouveau projet ou que tu bosses sur du legacy, cela s’applique à toi.

Je ne suis intéressé que par le second module, est-ce embêtant ?

Pas du tout. Je pense qu'il vaut mieux suivre le cursus dans l'ordre, mais tu fais comme tu veux !

Je n’ai pas le temps de suivre cette formation

Justement, je l’ai pensée pour les gens qui ont peu de temps et qui veulent des choses utiles dans leur quotidien. Je garderai les modules les plus condensés possibles. Mon but est que tu codes plus et mieux, pas que tu mates des vidéos à longueur de journées.

J’ai déjà essayé, mais c’est pas pour moi

Tu as regardé des screencast et lu des articles mais tu n’es pas arrivé à mettre en oeuvre ? Peut-être que la barre était trop haute.
Ce cursus est bâti selon une progression graduelle pour te permettre d’acquérir les compétences une après l’autre. 

Si j’ai une question ?

Tu m’envoies un email et je te répondrai !

Partager la passion du code, chaque jour.

Bienvenue dans la maison des compagnons, le lieu pour les développeurs passionnés qui veulent s'améliorer en continu.
Nous t'apportons des compétences profondes que tu vas pouvoir mettre en oeuvre progressivement dans la vraie vie.