SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Les revues de code ou
                 comment faire fructifier
                 son capital humain




Forum PHP 2010
Qui suis-je ?

   Jean-Marc Fontaine
   Consultant pour Alter Way Consulting
   Responsable du centre de compétences PHP pour Alter Way
    Solutions
   Formateur / Professeur vacataire en université
   Membre Actif de l'AFUP
   Auteur du blog Industrialisation-PHP.com
   Co-auteur du livre blanc « Industrialisation PHP »




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   2
Livre blanc « Industrialisation PHP »

   Co-écrit avec Damien Seguy
   Panorama des outils et
    méthodes d'industrialisation
    des développements PHP
   Publié en octobre 2009
   2 500 téléchargements




Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php
Blog           : http://www.industrialisation-php.com/
    Forum PHP 2010     Les revues de code ou comment faire fructifier son capital humain   3
L'erreur est humaine




Les développeurs font des erreurs, c'est inévitable.
La vraie question est quand souhaite-t-on les découvrir ?
En développement, en recette ou en production ?
  Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   4
Revues de code : kezako ?

   Une revue de code consiste à examiner le code de
    quelqu'un d'autre à la recherche de défauts ou
    d'améliorations potentielles
   La vérification (contrôle de la qualité pendant le
    développement) est plus efficace, et donc moins
    coûteuse, que la validation (contrôle de la qualité après
    le développement).
   Proximité avec les méthodes agiles (Pair programming,
    responsabilité collective, courage)




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   5
Pas limitées au code source

   Les revues ne sont pas limitées au code, on peut les
    appliquer également aux documents importants d'un
    projet comme les spécifications, les documents de
    conception, etc.




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   6
Il n'y a pas des outils d'analyse pour ça ?

   Complémentaires
   Adaptés aux problèmes de syntaxe et d'optimisation
    subtile
   Pas adaptés aux problèmes fonctionnels ou de logique
   Un humain peut identifier :
           –     les   messages d'erreur peu clairs
           –     les   commentaires inappropriés
           –     les   valeurs en dur (Nombres magiques)
           –     les   manques de factorisation




    Forum PHP 2010     Les revues de code ou comment faire fructifier son capital humain   7
Et les tests ?

   Les tests automatisés (unitaires, fonctionnels, etc.) et
    manuels n'indiquent rien de la qualité et de la
    maintenabilité du code.
   Les tests trouvent les symptômes tandis que les revues
    de code trouvent les causes des problèmes.




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   8
Buts

   Amélioration de la qualité du code
         Découverte de bogues
         Qualité de la conception
         Application des bonnes pratiques
         Respect des conventions
         Suppression des redondances
         Élimination des incohérences
   Vérification de la conformité
   Vérification de l'exhaustivité




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   9
Bénéfices indirects

   Partage de la connaissance
   Formation des juniors
   Recherche de consensus
   Amélioration de la maîtrise collective du code
   Émergence d'idées neuves




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   10
Objections habituelles

   Coût
   Perte de temps
   Freins humains
         Fainéantise
         Ego
         Conflits personnels
   Difficultés d'organisation
   Méthode non exhaustive




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   11
C'est un truc expérimental ?!

   Les revues de code sont pratiquées par tous les acteurs
    importants
         Google
         Cisco
         Intel
         NASA
         BNP Paribas
         UPS
   Chez Google rien n'est commité sans être revu au
    préalable.




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   12
Les types de revues de code

e                                                                                     f
f                                                                                     o
f                                                                                     r
i                                                                                     m
c                                                                                     a
a                                                                                     li
c                                                                                     s
i                                                                                     m
t                                                                                     e
é



 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   13
Organiser une revue de code




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   14
Quand effectuer une revue de code ?




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   15
Planifier une revue de code

   Entre 3 et 7 personnes
   Rôles
         Auteur
         Inspecteur
         Modérateur
         Lecteur
         Secrétaire
         Vérificateur
   Les rôles sont cumulables sauf pour l'auteur qui ne
    peut éventuellement être que lecteur
   Choisir un endroit calme
   L'équipe doit rester isolée durant toute la revue




    Forum PHP 2010       Les revues de code ou comment faire fructifier son capital humain   16
Sélectionner le code à étudier

   Systématique
   À la demande du développeur
   Parties problématique de l'application
   Couverture de code
   Expérience
   Hasard




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   17
Préparer une revue

   Réunion de présentation
         Informelle
         Présente rapidement le code qui sera       revu et les objectifs de
          la revue de code
         Peut être supprimée si l'équipe est familière du code
   Définition des règles, standards et spécifications en
    vigueur
   Le lecteur doit se familiariser avec le code
   Les inspecteurs doivent étudier le code à la recherche
    de problèmes et d'opportunités d'optimisations




    Forum PHP 2010    Les revues de code ou comment faire fructifier son capital humain   18
Déroulement d'une réunion de revue




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   19
Après la revue de code

   L'auteur modifie son code en fonction du journal des
    défauts
   Le modérateur rédige un compte-rendu de revue
   Le vérificateur s'assure que le code a été retravaillé
    comme convenu

   Livrables
         Code retravaillé
         Journal des défauts
         Compte-rendu de revue


   Possibilité de générer des statistiques avec le temps




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   20
Évaluer le fruit des revues de code




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   21
Évaluer le fruit des revues de code

   L'efficacité des revues doit être évalué par rapport au
    temps gagné et pas au nombre de défauts trouvés.
   Éviter les mesures individuelles




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   22
Mesures de base




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   23
Mesures avancées




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   24
Outiller ses revues de code




 Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   25
Outiller ses revues de code

   Outils Open Source
         Review Board
         Rietveld
   Outils commerciaux
         SmartBear Code Collaborator
         Atlassian Crucible




    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   26
10 bonnes pratiques

   Ne pas étudier plus de 300 lignes à la fois
   Adopter un rythme de 300 à 500 lignes étudiées par
    heure
   Ne pas dépasser 90 minutes pour une revue
   Les inspecteurs doivent étudier le code avant la
    réunion de revue
   Établir des objectifs quantifiables et recueillir des
    mesures
   Utiliser des checklists
   Vérifier que les problèmes trouvés sont effectivement
    corrigés
   Développer la culture de la revue de code
   Jouer sur la pression sociale
   Éviter le sentiment de surveillance

    Forum PHP 2010   Les revues de code ou comment faire fructifier son capital humain   27
Merci !

   Me contacter :
    jean-marc.fontaine@alterway.fr
   Donnez votre avis sur cette
    conférence :
    http://joind.in/2075
   Me suivre sur Twitter :
    (@jmfontaine)
   Des questions ?




Présentation : http://www.slideshare.net/jmf/
Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-php
Blog         : http://www.industrialisation-php.com/

    Forum PHP 2010     Les revues de code ou comment faire fructifier son capital humain   28

Más contenido relacionado

Destacado

Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
Extrait des Lettres de John Lennon 1
Extrait des Lettres de John Lennon 1Extrait des Lettres de John Lennon 1
Extrait des Lettres de John Lennon 1Le Point
 
Le filament 27 de mars 2013
Le filament 27 de mars 2013 Le filament 27 de mars 2013
Le filament 27 de mars 2013 Patrice Piardon
 
Sigloxxpinturaexpresionismoabstractoamericano
SigloxxpinturaexpresionismoabstractoamericanoSigloxxpinturaexpresionismoabstractoamericano
SigloxxpinturaexpresionismoabstractoamericanoJOHN BONILLA
 
Bobinas1
Bobinas1Bobinas1
Bobinas1Yambal
 
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...A vueltas con la ultraactividad de los convenios colectivos y la contractuali...
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...Universidad Autónoma de Barcelona
 
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...Universidad Autónoma de Barcelona
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Arnold Stellio
 
Iniciación al uso educativo del vídeo digital
Iniciación al uso educativo del vídeo digitalIniciación al uso educativo del vídeo digital
Iniciación al uso educativo del vídeo digitaljoseluisserrano
 
Tarea operaciones
Tarea operacionesTarea operaciones
Tarea operacionesCOMPHOR
 
Seminaire Alter Way Drupal 7
Seminaire Alter Way Drupal 7Seminaire Alter Way Drupal 7
Seminaire Alter Way Drupal 7ALTER WAY
 
Identité numérique et protection de la vie privée
Identité numérique et protection de la vie privéeIdentité numérique et protection de la vie privée
Identité numérique et protection de la vie privéeCoraia
 

Destacado (20)

Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
Axe industrie
Axe industrieAxe industrie
Axe industrie
 
Extrait des Lettres de John Lennon 1
Extrait des Lettres de John Lennon 1Extrait des Lettres de John Lennon 1
Extrait des Lettres de John Lennon 1
 
Lcba guia lectura
Lcba guia lecturaLcba guia lectura
Lcba guia lectura
 
Le filament 27 de mars 2013
Le filament 27 de mars 2013 Le filament 27 de mars 2013
Le filament 27 de mars 2013
 
Sigloxxpinturaexpresionismoabstractoamericano
SigloxxpinturaexpresionismoabstractoamericanoSigloxxpinturaexpresionismoabstractoamericano
Sigloxxpinturaexpresionismoabstractoamericano
 
Taller Microfinanzas Aplicadas
Taller Microfinanzas AplicadasTaller Microfinanzas Aplicadas
Taller Microfinanzas Aplicadas
 
Mapa y manual de almacenes 21010103201
Mapa y manual de  almacenes  21010103201Mapa y manual de  almacenes  21010103201
Mapa y manual de almacenes 21010103201
 
Piaget
PiagetPiaget
Piaget
 
Bobinas1
Bobinas1Bobinas1
Bobinas1
 
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...A vueltas con la ultraactividad de los convenios colectivos y la contractuali...
A vueltas con la ultraactividad de los convenios colectivos y la contractuali...
 
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...
¿Nuevas reformas laborales o desarrollo de las ya existentes? ¿Qué piden el F...
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00
 
Iniciación al uso educativo del vídeo digital
Iniciación al uso educativo del vídeo digitalIniciación al uso educativo del vídeo digital
Iniciación al uso educativo del vídeo digital
 
Tarea operaciones
Tarea operacionesTarea operaciones
Tarea operaciones
 
Web 2.0: Acceso al Conocimiento
Web 2.0: Acceso al ConocimientoWeb 2.0: Acceso al Conocimiento
Web 2.0: Acceso al Conocimiento
 
La historia de javier
La historia de javierLa historia de javier
La historia de javier
 
Seminaire Alter Way Drupal 7
Seminaire Alter Way Drupal 7Seminaire Alter Way Drupal 7
Seminaire Alter Way Drupal 7
 
Nueva web
Nueva webNueva web
Nueva web
 
Identité numérique et protection de la vie privée
Identité numérique et protection de la vie privéeIdentité numérique et protection de la vie privée
Identité numérique et protection de la vie privée
 

Similar a Revues de code forum php

Agile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAgile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAntoine Blk
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationPHPPRO
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Intelligence Artificielle et Relation Client, c'est maintenant !
Intelligence Artificielle et Relation Client, c'est maintenant !Intelligence Artificielle et Relation Client, c'est maintenant !
Intelligence Artificielle et Relation Client, c'est maintenant !Eloquant
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Xavier Lacot
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesEric SIBER
 
Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisPourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisAlexandre ESTELA
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?PALO IT
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Jean-Marc Fontaine
 
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...Peak Ace
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureJonathan Bonzy
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureMarc Nazarian
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Jean-Marc Fontaine
 
Intégrez un chatbot à votre relation client
Intégrez un chatbot à votre relation clientIntégrez un chatbot à votre relation client
Intégrez un chatbot à votre relation clientEloquant
 
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-webCyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-webCERTyou Formation
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageLaFrenchMobile
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)LVLUP
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...SEO CAMP
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en lignePrénom Nom de famille
 
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Simplicité Software
 

Similar a Revues de code forum php (20)

Agile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAgile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defauts
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Intelligence Artificielle et Relation Client, c'est maintenant !
Intelligence Artificielle et Relation Client, c'est maintenant !Intelligence Artificielle et Relation Client, c'est maintenant !
Intelligence Artificielle et Relation Client, c'est maintenant !
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisPourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010
 
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...
Seo Camp'us 2018 - SEO & FRAMEWORK JAVASCRIPT - Philippe Yonnet - Directeur G...
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010
 
Intégrez un chatbot à votre relation client
Intégrez un chatbot à votre relation clientIntégrez un chatbot à votre relation client
Intégrez un chatbot à votre relation client
 
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-webCyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligne
 
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
 

Más de ALTER WAY

Drupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAADrupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAAALTER WAY
 
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...ALTER WAY
 
Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
 
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...ALTER WAY
 
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent ALTER WAY
 
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014ALTER WAY
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch ALTER WAY
 
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSASolutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSAALTER WAY
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF ALTER WAY
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014ALTER WAY
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014ALTER WAY
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysALTER WAY
 
OpenStack havana tour d'horizon
OpenStack havana tour d'horizonOpenStack havana tour d'horizon
OpenStack havana tour d'horizonALTER WAY
 
H2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayH2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayALTER WAY
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Reprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineReprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineALTER WAY
 
Organiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineOrganiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineALTER WAY
 

Más de ALTER WAY (20)

Drupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAADrupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAA
 
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
 
Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
 
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
 
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
 
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSASolutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
 
OpenStack havana tour d'horizon
OpenStack havana tour d'horizonOpenStack havana tour d'horizon
OpenStack havana tour d'horizon
 
H2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayH2O, le Cloud par Alter Way
H2O, le Cloud par Alter Way
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Reprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineReprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc Fontaine
 
Organiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineOrganiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc Fontaine
 

Revues de code forum php

  • 1. Les revues de code ou comment faire fructifier son capital humain Forum PHP 2010
  • 2. Qui suis-je ?  Jean-Marc Fontaine  Consultant pour Alter Way Consulting  Responsable du centre de compétences PHP pour Alter Way Solutions  Formateur / Professeur vacataire en université  Membre Actif de l'AFUP  Auteur du blog Industrialisation-PHP.com  Co-auteur du livre blanc « Industrialisation PHP » Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 2
  • 3. Livre blanc « Industrialisation PHP »  Co-écrit avec Damien Seguy  Panorama des outils et méthodes d'industrialisation des développements PHP  Publié en octobre 2009  2 500 téléchargements Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/ Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 3
  • 4. L'erreur est humaine Les développeurs font des erreurs, c'est inévitable. La vraie question est quand souhaite-t-on les découvrir ? En développement, en recette ou en production ? Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 4
  • 5. Revues de code : kezako ?  Une revue de code consiste à examiner le code de quelqu'un d'autre à la recherche de défauts ou d'améliorations potentielles  La vérification (contrôle de la qualité pendant le développement) est plus efficace, et donc moins coûteuse, que la validation (contrôle de la qualité après le développement).  Proximité avec les méthodes agiles (Pair programming, responsabilité collective, courage) Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 5
  • 6. Pas limitées au code source  Les revues ne sont pas limitées au code, on peut les appliquer également aux documents importants d'un projet comme les spécifications, les documents de conception, etc. Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 6
  • 7. Il n'y a pas des outils d'analyse pour ça ?  Complémentaires  Adaptés aux problèmes de syntaxe et d'optimisation subtile  Pas adaptés aux problèmes fonctionnels ou de logique  Un humain peut identifier : – les messages d'erreur peu clairs – les commentaires inappropriés – les valeurs en dur (Nombres magiques) – les manques de factorisation Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 7
  • 8. Et les tests ?  Les tests automatisés (unitaires, fonctionnels, etc.) et manuels n'indiquent rien de la qualité et de la maintenabilité du code.  Les tests trouvent les symptômes tandis que les revues de code trouvent les causes des problèmes. Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 8
  • 9. Buts  Amélioration de la qualité du code  Découverte de bogues  Qualité de la conception  Application des bonnes pratiques  Respect des conventions  Suppression des redondances  Élimination des incohérences  Vérification de la conformité  Vérification de l'exhaustivité Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 9
  • 10. Bénéfices indirects  Partage de la connaissance  Formation des juniors  Recherche de consensus  Amélioration de la maîtrise collective du code  Émergence d'idées neuves Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 10
  • 11. Objections habituelles  Coût  Perte de temps  Freins humains  Fainéantise  Ego  Conflits personnels  Difficultés d'organisation  Méthode non exhaustive Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 11
  • 12. C'est un truc expérimental ?!  Les revues de code sont pratiquées par tous les acteurs importants  Google  Cisco  Intel  NASA  BNP Paribas  UPS  Chez Google rien n'est commité sans être revu au préalable. Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 12
  • 13. Les types de revues de code e f f o f r i m c a a li c s i m t e é Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 13
  • 14. Organiser une revue de code Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 14
  • 15. Quand effectuer une revue de code ? Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 15
  • 16. Planifier une revue de code  Entre 3 et 7 personnes  Rôles  Auteur  Inspecteur  Modérateur  Lecteur  Secrétaire  Vérificateur  Les rôles sont cumulables sauf pour l'auteur qui ne peut éventuellement être que lecteur  Choisir un endroit calme  L'équipe doit rester isolée durant toute la revue Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 16
  • 17. Sélectionner le code à étudier  Systématique  À la demande du développeur  Parties problématique de l'application  Couverture de code  Expérience  Hasard Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 17
  • 18. Préparer une revue  Réunion de présentation  Informelle  Présente rapidement le code qui sera revu et les objectifs de la revue de code  Peut être supprimée si l'équipe est familière du code  Définition des règles, standards et spécifications en vigueur  Le lecteur doit se familiariser avec le code  Les inspecteurs doivent étudier le code à la recherche de problèmes et d'opportunités d'optimisations Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 18
  • 19. Déroulement d'une réunion de revue Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 19
  • 20. Après la revue de code  L'auteur modifie son code en fonction du journal des défauts  Le modérateur rédige un compte-rendu de revue  Le vérificateur s'assure que le code a été retravaillé comme convenu  Livrables  Code retravaillé  Journal des défauts  Compte-rendu de revue  Possibilité de générer des statistiques avec le temps Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 20
  • 21. Évaluer le fruit des revues de code Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 21
  • 22. Évaluer le fruit des revues de code  L'efficacité des revues doit être évalué par rapport au temps gagné et pas au nombre de défauts trouvés.  Éviter les mesures individuelles Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 22
  • 23. Mesures de base Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 23
  • 24. Mesures avancées Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 24
  • 25. Outiller ses revues de code Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 25
  • 26. Outiller ses revues de code  Outils Open Source  Review Board  Rietveld  Outils commerciaux  SmartBear Code Collaborator  Atlassian Crucible Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 26
  • 27. 10 bonnes pratiques  Ne pas étudier plus de 300 lignes à la fois  Adopter un rythme de 300 à 500 lignes étudiées par heure  Ne pas dépasser 90 minutes pour une revue  Les inspecteurs doivent étudier le code avant la réunion de revue  Établir des objectifs quantifiables et recueillir des mesures  Utiliser des checklists  Vérifier que les problèmes trouvés sont effectivement corrigés  Développer la culture de la revue de code  Jouer sur la pression sociale  Éviter le sentiment de surveillance Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 27
  • 28. Merci !  Me contacter : jean-marc.fontaine@alterway.fr  Donnez votre avis sur cette conférence : http://joind.in/2075  Me suivre sur Twitter : (@jmfontaine)  Des questions ? Présentation : http://www.slideshare.net/jmf/ Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/ Forum PHP 2010 Les revues de code ou comment faire fructifier son capital humain 28