www.lecalamar.fr/posts/2025-11-02-pyconfr-calamars-et-pythons/
Il y a aujourd'hui
Et au début des années 1950 : ≃ 1 développeur
Faisons un peu de mathématiques, imaginons une croissance exponentielle
En moyenne, le nombre de développeurs a doublé tous les 2,8 ans
Hypothèse conservatrice :
Le nombre de développeurs double tous les 5 ans
À chaque instant, la moitié des développeurs a moins de 5 ans d'expérience !
Et seulement 25% des développeurs a plus de 10 ans d'expérience !
Et 6% des développeurs a plus de 20 ans d'expérience !
Et 1% des développeurs a plus de 30 ans d'expérience !
Le logiciel est partout
Votre frein a peut-être été conçu par un débutant !
Profitons de l'expérience des anciens
Je vous dévoilerai le grand secret à la fin de la conférence
Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.
Pratique de développement logiciel
Améliorer la structure interne du code
Sans en changer le comportement externe
On se lance à le modifier ?
Sans git ?
Sans tests ?
Vous voulez renommer une variable ?
Codez par petites étapes
Oubliez les sessions de debug
Testez la petite modification depuis le dernier commit
Si KO ⇒ jetez et recommencez !
TCR : Test && Commit || Revert
En anglais…
Un meilleur nom pour cette fonction ?
Le nommage des choses, des trucs, des bidules, des machins (concrètement des variables, des fonctions, des classes, des concepts…)
There are only two hard things in Computer Science: cache invalidation and naming things.
Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.
Plus on attend pour corriger le tir, plus ça coûte cher !
Objectif : un code plus testable, maintenable et évolutif
Méthodes : livre « Refactoring » de Martin Fowler
Évitez l'accumulation de dette technique
services.py dépend de database.pyservices.py sans une vraie base de données ou un mock complexesqlalchemy, transactions, async et autres choix)
Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion
Objectif : un code plus testable, maintenable et évolutif
Principes connus :
Il existe de nombreux documents à disposition
Des idées de mots clés : clean code, refactoring, clean architecture, software craftsmanship…
Robert C. Martin
2008
2025
Des principes pour écrire au quotidien un code lisible, maintenable et testable.
Martin Fowler
2002
2019
Un catalogue de transformations de code pour améliorer sa structure sans changer son comportement.
Robert C. Martin
2017
2017
Des règles pour concevoir une architecture orientée métier, indépendante des frameworks.
Kent Beck
2002
Une introduction pratique au TDD à travers des exemples simples et progressifs.
Steve Freeman et Nat Pryce
2009
Une conception objet guidée par les tests, du besoin métier au code.
Michael Feathers
2004
Des techniques pour tester et faire évoluer un code legacy en sécurité.
Martin Fowler
2002
Des patrons d'architecture pour organiser les applications d'entreprise.
Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides
1994
Le livre classique du gang of four sur les design patterns
Eric Freeman et Elisabeth Robson
2004
2021
Un livre pédagogique sur les design patterns, utilisant une approche visuelle et interactive
Andrew Hunt et David Thomas
1999
2019
Un recueil de pratiques concrètes pour mieux concevoir, coder et collaborer.
Eric Evans
2003
Une approche stratégique et tactique pour modéliser des domaines métier complexes.
Luciano Ramalho
2015
2022
Un guide avancé pour écrire du Python idiomatique, expressif et performant.
Harry J.W. Percival et Bob Gregory
2020
Un guide pratique pour structurer des applications Python avec DDD, tests et architectures découplées.
Clean code with Uncle Bob (playlist YouTube, 8 heures)
Core developer Python (4600 commits !), formateur Python, a fait plein d'excellentes conférences (recherche YouTube)
Vidéos et tutoriels sur Python, les design patterns, les choix d'architecture… (chaîne YouTube) par Arjan Egges
Vidéos des conférences Python (https://pyvideo.org/) avec plus de 20 000 vidéos
Et toujours pas de podcast Python en Français ?
Le développement en cascade avec des stand-ups
Tu devras
Guide du développement fragile
git commit -m "changes"
Laisser votre bébé partir du nid, pour le pire ou le meilleur
7ème édition
À l'échelle
La partie la plus difficile du codage
70 ans de développement logiciel
La moitié des devs a moins de 5 ans d'expérience
Les technologies évoluent
Les fondamentaux restent
Les leçons restent
Le secret c'est qu'« il n'y a pas de secret »
Profitez de l'expérience des anciens !
Documentez vous
La meilleure façon d'aller vite , tout au long d'un projet : garder le code propre