Code review do jeito certo

Code review do jeito certo

Nesta palestra vamos falar um pouco sobre o que é Code Review e como podemos melhorar cada vez o processo de revisão para que seu time e seu código não te odeiem

0a8f40c6cc23fb6c8aad4de732c5abaf?s=128

Lucas Santos

May 11, 2019
Tweet

Transcript

  1. Code review do jeito certo! Um guia para a paz

    na Internet
  2. Lucas Santos /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Lead Solutions Architect

  3. /khaosdoctor @_staticvoid lsantos.me @khaosdoctor obarra.co trainingcenter.io abcdevelopers.org

  4. O que é uma Code Review?

  5. Processo pelo qual devs revisam e comentam códigos de outros

    devs
  6. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Por que devemos fazer isso? Não

    é só porque é legal - Garantir um melhor design de código - Garantir um código mais livre de bugs - Nos livrar de Edge cases - Compartilhar conhecimento com o time - Distribuir responsabilidades
  7. Como fazemos uma boa code review?

  8. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor 1. Construa seu contexto

  9. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor 2. Veja pontos relevantes - Arquitetura

    em níveis mais altos - Edge cases e escopos que podem não ter sido cobertos - Cobertura de testes - Nomenclatura e estilo
  10. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor 3. Volte um passo e veja

    o macro
  11. Isto poderia ter sido feito melhor?

  12. Isto poderia ter sido mais rápido?

  13. Isto poderia ter sido mais seguro?

  14. Isto poderia ter sido mais simples?

  15. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor 4. Dê seu feedback Sempre é

    um problema de comunicação - Encoraje colaboração e discussão - Não corrija você mesmo - Encoraje a ideia que feedbacks são bons! - "Isto está ótimo! Vamos deixar ainda melhor" - Comunicação não Violenta - Prefira "Nós" a "Você"
  16. /khaosdoctor @_staticvoid lsantos.me @khaosdoctor

  17. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Melhore ainda mais seu feedback -

    Sempre comece com fatos - Dê referências externas - Nunca seja imperativo - Sempre convide o autor para uma discussão
  18. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Problemas comuns Releve algumas coisas, você

    também já esteve lá - Desconhecer padrões do time - Familiaridade com o processo de CR - Falta de entendimento do negócio - Pouco conhecimento técnico - Ego - Gírias e piadas internas - Pressão externa
  19. Quem propõe também tem que ajudar! Não é só problema

    do revisor
  20. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Pouca explicação ou descrição

  21. /khaosdoctor @_staticvoid lsantos.me @khaosdoctor

  22. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor PR's gigantes

  23. /khaosdoctor @_staticvoid lsantos.me @khaosdoctor

  24. /khaosdoctor @_staticvoid lsantos.me @khaosdoctor

  25. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Outros problemas com PR's - Não

    há um template - Sem referências a issues ou outras PR's
  26. Nem tudo são flores As famosas balas de prata

  27. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Como fazer uma má code review

    Todo mundo vai adorar! 1. Não avalie o contexto, pule direto para a revisão 2. Nunca peça ajuda, afinal, você sabe de todas as coisas 3. Comente tudo que ferramentas de análise já identificaram 4. Perca tempo discutindo a mesma coisa repetidamente 5. Se prenda a estilos
  28. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Problemas de processo - A pessoa

    "designada" - A PR da madrugada
  29. Resolução de conflitos Imagina se pega no olho...

  30. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Ideias diferentes

  31. Encontre um meio termo

  32. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Ideias MUITO diferentes

  33. Princípio de "quem se importa mais"

  34. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Ambos se importam demais

  35. Não é mais decisão de vocês. Chame o time!

  36. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor O que ganhamos com tudo isso?

  37. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Por que code review? - Melhora

    as estimativas do time - Permitem que desenvolvedores espaireçam - Geram mentoria para novatos - Geram Peer Pressure, que geram melhores desenvolvimentos
  38. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor Que tal um review desta talk?

    http://bit.ly/lsantos-code-review
  39. <refs> /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor - Code Review, comunicação amigável

    e cultura - http://bit.ly/2HPWK8Y - Code Reviews: How can we do it better? - http://bit.ly/2HNFEZb - Code Reviews in Atlassian - http://bit.ly/2HR5The - Code Reviewing like a champion - http://bit.ly/2HQ80lB - Better Code Reviews - http://bettercode.reviews - Qualidade além do código pt. 1 - http://bit.ly/2WC0JJy - Qualidade além do código pt. 2 - http://bit.ly/2WCSA7p - Usando Pull Requests a favor do time - http://bit.ly/2WA82RU - 7 Masters: Qualidade além do código - http://bit.ly/2WA8bEW
  40. Obrigado! /khaosdoctor @_staticvoid lsantos.me @khaosdoctor