Pro Yearly is on sale from $80 to $50! »

La revue de code: une arme secrète à portée de tous

La revue de code: une arme secrète à portée de tous

Avez-vous déjà passé des heures sans pouvoir déchiffrer le code d’un tiers? Votre application ne fonctionne pas et vous ne savez pas pourquoi. Le temps presse et vous ne pouvez manquer la date limite prévue, votre arme secrète: la revue de code. Quels sont les avantages? Comment démarrer une bonne revue de code? Quels sont les meilleurs outils? WordPress.com propulse des millions de sites web. Leur service VIP, pour les grandes entreprises, reçoit à lui seul reçoit 2,5 milliards de pages vues par mois. En misant sur WordPress.com, on ne peut pas se tromper. Venez assister à une introduction sur les bonnes techniques qu’on peut mettre en place, et ce, peu importe l’échelle.

******
Shannon Smith est spécialiste plateforme-service au sein des services VIP de WordPress.com. Elle livre des solutions de contenu aux plus grands noms en média, marketing, et affaires. Shannon détient plus de 15 ans d’expérience dans le domaine des intégrations de source libre. Longuement partisane de la diversité, de l’accessibilité, et de l’internationalisation, elle a été organisatrice de la communauté WordPress Montréal durant sept ans. Shannon est également adepte de plein air, poétesse et mère de quatre enfants.

275e113775bcd075ff1923687986b9a8?s=128

Shannon Smith

April 11, 2018
Tweet

Transcript

  1. une arme secrète à portée de tous Web à Québec

    La revue de code : Québec, avril 2018
  2. Shannon Smith https://vip.wordpress.com Spécialiste plateforme-service, Automattic / WordPress.com VIP

  3. C’est quoi encore la revue de code?

  4. La revue de code S’appuie sur la vérification (manuelle ou

    automatisée) du respect d'un ensemble de règles de programmation https://fr.wikipedia.org/wiki/Revue_de_code
  5. Découvrir les possibilités… Une arme secrète à portée de tous

    - S’appuyer sur l’expérience VIP - Quels sont les enjeux? - Quels sont les avantages? - Comment démarrer une bonne revue de code?
  6. La revue de code WordPress VIP

  7. WordPress.com VIP - les vues de page par mois :

    2.5 milliard - la durée de fonctionnent (uptime) : 99.9976% - le temps de réponse : 349 ms - https://vip.wordpress.com
  8. None
  9. Tout le code sur notre plateforme est sujet à une

    revue de code.
  10. Pourquoi la revue de code sur WordPress VIP? - une

    plateforme partagée - une achalandage importante - la sécurité et la performance
  11. –David Parsons, USA Today “Working with WordPress.com VIP 
 allows

    our team to focus on building awesome stuff”
  12. 100 pour cent distribué

  13. Pourquoi la revue de code adapté à vos besoins? 1.

    la sécurité - le XSS, l'Open Web Application Security Project (OWASP) - lèéchappement, la nettoyage, la validation 2. le performance - les requêtes intélligents, la bonne utilisation du cache, le code DRY (don’t repeat yourself) - la modularité 3. la lisibilité - la collaboration - le respect des standards - la continuité
  14. …et pourquoi la revue de code?

  15. –Steve McConnell (Book: “Code Complete”) “the average [defect detection] effectiveness

    [rate] of design and code inspections 
 are 55 and 60 percent.”
  16. –Jeff Atwood “Development projects with code review have significantly fewer

    bugs, reduced development costs, increased productivity, and early ship dates.” http://blog.codinghorror.com/code-reviews-just-do-it
  17. Ces bogues qui coutent si cher… - la correction de

    défauts coûte moins cher plus qu’on y travail - les projets où l’on corrige < 85% des défauts seront en retard, hors budget, avec des clients insatisfaits - les projets où l’on corrige > 95% des défauts seront généralement livrés à temps, respectent le budget, et laissent les clients satisfaits http://www.ifpug.org/Documents/Jones-CostPerDefectMetricVersion4.pdf
  18. La revue de code : quels sont les enjeux?

  19. Les outils automatisés - PHP_CodeSniffer - les standards de code

    WordPress 
 (un projet communautaire de source libre) - les standards de code VIP - l’intégration continue (Travis CI ou Circle CI) dans Github
  20. La revue de code manuelle - par ses pairs -

    par la communauté (source libre) - par un tiers service
  21. On cherche quoi? - Le respect des standards de code

    - Une manque d’erreurs/d’avertissements - Une bonne logique - La facilitation de la performance - Le code sécuritaire
  22. Des exemples plus précis? - La validation, la nettoyage et

    l’échappement - les javascript avec XSS - du PHP avec ou le cache est sous-optimisé - une consommation logique par les API - des requêtes sur la base de données trop exigeants - le respect des standards et les bonnes pratiques - les coquilles
  23. … et si on pensait d’abord à l’équipe? - la

    programmation plus efficace - une collaboration facile et standardisée - le débogage accéléré - la participation de la communauté source libre
  24. … et si on pensait d’abord à soi? - on

    devient meilleur dévelopeur - on obtient de d’expérience par osmose - les standards de code deviennent internalisés
  25. Le pratico-pratique, SVP?

  26. Le méthode WordPress.com VIP - le client soumet du code

    - un diff est créé - nos développeurs font une revue de code - les commentaires sont partagées / une discussion a lieu - l’approbation ou la révision
  27. Un travail à la grande échelle - 9.5+ millions de

    lignes de code - 144 000 déploiements - le temps moyen ~ 2 h
  28. Github - le modèle Git Flow (Vincent Driessen) - les

    pull Request (PR) - la documentation, les commentaires dans le code source - les diffs (la comparaison de fichiers) - le travail en partenaires vs. en équipes transverses http://nvie.com/posts/a-successful-git-branching-model/
  29. Time release branches master develop hotfixes feature branches Feature for

    future release Tag Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug fixed for production: Bugfixes from rel. branch may be continuously merged back into develop Tag Tag Incorporate bugfix in develop Only bugfixes! Start of release branch for Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
  30. Autres outils - Phabricator - linters - tiers produits

  31. Comment faire en équipe? - personne fait un merge de

    son propre PR - diffs pour faciliter la tâche - offre des commentaires
  32. …et si j’étais seul? - les outils automatisés - créer

    des diffs - dormir et réviser / le matin et l'après-midi - faites des commentaires / de la documentation - créer une espace entre la programmation et le déploiement
  33. Combattre les excuses… - mais… on est sensé s’y connaître

    dans la domaine! - mais… ce n’est pas mon projet - mais… il n’y a pas de temps
  34. Euh, pourquoi on ne m’aime plus… - un travail sans

    ego - un travail difficile, la bonne communication est clé - l'empathie - l'accent sur le code et non pas la personne (aucun pronom personnel) - pas de “oui, mais…” - aucune assomption et beaucoup de questions
  35. –Jeff Atwood “[P]eer code reviews are the single biggest thing

    you can do to improve your code. If you’re not doing code reviews right now with another developer, you’re missing a lot of bugs in your code and cheating yourself out of some key professional development opportunities. As far as I’m concerned, my code isn’t done until I’ve gone over it with a fellow developer. http://codinghorror.com
  36. Web à Québec Québec, avril 2018 Questions?

  37. vip.wordpress.com/jobs