3. 3 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Code Review
Code Review é um exame sistemático,
frequentemente conhecido por Peer
Review, de códigos fonte.
6. 6 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
Encontrar e corrigir erros que passam
desapercebidos na fase de
desenvolvimento.
7. 7 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
l Aumentar a qualidade do código fonte.
l Aumentar os skills dos desenvolvedores
com exemplos de códigos e corrigindo
defeitos nele.
8. 8 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
l Identificar defeitos que não
implementam os requisitos.
l Códigos que podem ser melhorados
(Mais legível, códigos duplicados,
performance)
9. 9 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
l Ajudar programadores menos
experientes, aos quais o código está sendo
examinado, a aprenderem novas técnicas
de programação.
10. 10de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
l Compartilhar conhecimento.
l Melhorar código coletivo.
l Tentar outras abordagens.
l Educar.
l Ajudar a manter o nível de consistência
de design e implementação.
11. 11de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que não fazer Code Review?
l Conflito interpessoal.
l Efeito “Ego”.
l Achar o procedimento muito chato.
13. 13de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como Code Review é feito?
l Inspeção formal (meetings)
l Lightweight code review
14. 14de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Lightweight Code Review
l Over-the-shoulder
l Pair Programming
l Tool-assisted code review (Pastebins e
IRC)
15. 15de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como Code Review é feito?
lNum caso de estudo publicado no livro
Best Kept Secrets of Peer Code Review,
descobriram que a revisão informal de
códigos é tão eficiente quanto a formal,
sendo mais rápida e com custo-benefício
melhor.
16. 16de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Ferramentas de Code Review
lSão sistemas que ajudam programadores
a encontrarem erros e bugs em códigos
fonte.
17. 17de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Ferramentas de Code Review
l Ferramentas automáticas de análise.
l Ferramentas manuais de análise.
18. 18de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Ferramentas automáticas
l Analisam código fonte para verificar se
está de acordo com regras pré-definidas
ou com as boas práticas. (SONAR, PMD).
19. 19de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Ferramentas manuais
l São ferramentas colaborativas para
inspecionar e discutir mudanças,
armazenando o histórico para futuras
referências.
21. 21de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Roles e responsabilidades
l Revisor (Reviewers)
l Desenvolvedor.
22. 22de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Dicas para os desenvolvedores
l Crie um checklist de coisas que os
revisores irão focar mais.
l Você não é seu código.
l Entenda que você pode cometer erros.
l Não importa o quanto sabe, alguém
sempre saberá mais que você.
23. 23de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Dicas para os Revisores
l Critique código ao invés de pessoas. Seja
gentil.
l Trate pessoas que sabem menos que
você com respeito e paciência.
l Você é “autoridade” pelo conhecimento
e não pela cargo ou posição.
24. 24de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Dicas para os Revisores
l Lembre-se de elogiar.
l Tenha certeza que você tem
conhecimento suficiente para analisar e
sugerir melhorias.
l Não tente acelerar/apressar uma revisão,
faça de forma eficiente e eficaz.
26. 26de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Teddy Bear Technique
lAparentemente o nome veio de uma
universidade onde uma pessoa colocou
um urso perto de um computador em um
laboratório de computação.
27. 27de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Teddy Bear Technique
lEstudantes tinham que explicar o
problema para o Teddy antes que eles
pudessem perguntar aos professores.
28. 28de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Teddy Bear Technique
lPor que? Porque o Teddy frequentemente
resolvia os problemas/dúvidas deles.
29. 29de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como organizar o Code Review?
l Usar branches separados no Sistema
controle de versionamento (VCS).
l Usar patches.
l Ferramentas manuais (Colaborativas).
30. 30de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como começar?
l Tome decisões comuns.
l Comece devagar.
l Selecione somente módulos mais
complicados.
l Inspecione e adapte.
l Use ferramentas automáticas de análise
32. 32de 33www.centralit.com.br | valdemar.junior@centralit.com.br
REGRA DOS ESCOTEIROS
Deixe a área do acampamento
mais limpa do que como você
a encontrou.