@tonicospinelli
Code Review
CompartilhandoQualidade e Conhecimento
Code Review
O que é?
Por que usar?
Como?
O que examinar?
O que é? Code Review
seu código será revisado por alguém antes de ir para produção!
Revisores examinarão seu código para:
● encontrar erros e falhas lógicas
● sugerir melhorias
● verificar se desenvolveu dentro do padrão
● nivelar o conhecimento dentro do time
Tudo isso, antes de colocar para testar!
Revisão do meu código? É SÉRIO ISSO!?
Por que deveria usar dentro do
processo de desenvolvimento?
Code Review
Por que?
Melhora a qualidade do software
Code Review
ScrutinizerCodacyPDepend
Por que?
Compartilha conhecimento entre a equipe
Code Review
Por que?
Melhora capacidade de manutenção do código
Code Review
Por que?
Mentoria desenvolvedores mais jovens
Code Review
Por que?
Adesão aos padrões e convenções de codificação
Code Review
Por que?
Aumenta a colaboração
Code Review
Por que?
reduz o retrabalho
Code Review
Por que?
Aumentar a satisfação / retenção de clientes
Code Review
Por que?
Definir estimativas
Code Review
Por que?
Reforçar a vantagem competitiva
Code Review
mas como consigo chegar
nesta qualidade?
Code Review
Como?
Examine de 200 a 400 linhas de código a cada vez
Code Review
Como?
Sem pressa! As inspeções devem ser inferiores a 500 LOC/hora
Code Review
Como?
Revise em até 1h por vez
Code Review
Como?
Defina metas e capture métricas
Code Review
Como?
Os autores devem comentar o código antes da revisão
Code Review
Como?
Utilize Checklist
Code Review
Como?
Estabeleça um processo para corrigir defeitos encontrados
Code Review
Como?
Promover uma cultura positiva de revisão de código
Code Review
Como?
Sofrer por antecedência as implicações da revisão
Code Review
Como?
Pratique revisões de código de maneira assertiva
Code Review
o que devo avaliar
durante o Code Review?
Code Review
O que Avaliar?
o código respeita os princípios S.O.L.I.D.?
Code Review
O que Avaliar?
existe duplicação de código?
Code Review
O que Avaliar?
está no mesmo padrão estrutural?
Code Review
O que Avaliar?
código foi deixado melhor do que o encontrado?
Code Review
O que Avaliar?
procure por bugs em potencial
Code Review
O que Avaliar?
tratamento de erros estão adequados?
Code Review
O que Avaliar?
o código é eficiente?
Code Review
O que Avaliar?
nomenclatura das classes, métodos e variáveis são coerentes?
Code Review
public function calculate($first, $second){ return $first + $second;}
public function sum($first, $second);
$i
$index
$e
$exception
$usr
$user
Utils
Common
Tools
Helper
O que Avaliar?
a função tem menos de 20 linhas?
Code Review
O que Avaliar?
a classe tem menos de 300 linhas?
Code Review
O que Avaliar?
tem código comentado?
Code Review
O que Avaliar?
foi adicionado docblock?
Code Review
O que Avaliar?
número de argumentos é superior a 3?
Code Review
O que Avaliar?
o código está legível?
Code Review
O que Avaliar?
tem teste fazendo cobertura do código?
Code Review
● eles cobrem cenários de falha?● são fáceis de ler?
● são grandes?● são lentos?
PHPUnit 5.4.6
........................ 59 / 59 (100%)
Time: 349 ms, Memory: 6.00MB
OK (59 tests, 126 assertions)
O que Avaliar?
teste no nível correto
Code Review
Unit Test (95%)
Integration Test (5%)
O que Avaliar?
teste unitário com mais do que 3 Mocks?
Code Review
O que Avaliar?
a implementação atende aos requisitos?
Code Review
Dúvidas?
@tonicospinelli
joind.in/talk/c7441
#phpexperience2017