Go to content

Hook'il est beau, notre code ! Guider la qualité de code avec pre-commit (Luc Sorel-Giffo)

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.

June 28, 2023