Consultant Python @Zenika 📍 Rennes
Formateur et Speaker
🎤 Hook'il est beau, notre code ! Guider la qualité de code avec pre-commit
Le vendredi 30 Juin 2023 à 16H00 - Amphi B
Votre équipe s'est accordée sur des règles de qualité de la base de code :
formatage
bonnes pratiques
patterns ou anti-patterns, etc.
Vous y prêtez attention (ou vos collègues vous les rappellent trop souvent… 😏) lors des relectures de code, qui devraient plutôt se focaliser sur le métier.
Et si on utilisait les hooks git pour appliquer ces règles automatiquement pour une plus grande efficacité d'équipe, du commit à l'intégration continue ? Pas besoin de réinventer la roue : l'outil pre-commit est là [1], avec un écosystème de plugins très fourni [2].
Durant cette intervention orientée démos, je vous présenterai cet outil sur des exemples concrets d’applications. Pre-commit s’interface avec les outils de qualité de code d’une grande diversité de projets : Python, mais aussi Java, Node.js, rust, go, PHP, infra-as-code, la détection de secrets ou de fichiers volumineux avant de commiter, etc.
Un vrai guide pour la qualité de la base de code !
[1] : https://pre-commit.com/ [2] : https://pre-commit.com/hooks.html
Le plan s'articule selon 3 objectifs :
intro succincte sur la qualité de code : pratiques (TDD, revue de code) et outils (formateurs de code, linters)
technique : découverte des hooks git
opérationnels : mise en pratique de pre-commit et de différents hooks (hooks natifs de validations, hooks vers des outils tiers de formatage et de lint) et dans différents contextes (poste de développement, intégration continue) pour que vous ayez tous les éléments nécessaires à sa mise en œuvre sur vos projets.
🎤 Doc-tracing : fouiller une base de code fossile grâce au traçage d'exécution
Le jeudi 29 Juin 2023 à 12h45 - Amphi D
Vous est-il déjà arrivé d'arriver sur un projet préhistorique et de vous sentir démuni·e en fouillant la base de code pour comprendre son organisation et la façon dont les fonctionnalités sont implémentées ? Malgré la doc générée, vous vous perdez sur la route du clic et dans les onglets de votre IDE 😬.
Des outils de doc-tracing permettent de tracer l'exécution du code et de la documenter le diplodoc-as-codus : diagramme de séquence, diagramme des composants mobilisés par exemple.
À travers différentes démos, je vous présenterai comment l'outil pydoctrace utilise les hooks de l'interpréteur Python pour générer ces diagrammes en apposant un simple décorateur (similaire à une annotation des langages JVM) sur une fonction ou un test fonctionnel.
Plan :
utilité et exemples de doc-as-code
mécanismes de traçage d’exécution de code Python
partage de résultats de doc-tracing sur des tests de cas droits et d’erreurs
Envie d'en voir plus ? Rejoins nous à la prochaine Best of TechnoZaure !
Une soirée de veille imaginée par des Tech, pour les Tech !