1 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Code Review
A favor de um código melhorado e revisado constantemente
2 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Code Review
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.
4 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
5 de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Por que fazer Code Review?
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 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 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 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.
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.
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.
12de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como Code Review é feito?
13de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Como Code Review é feito?
l Inspeção formal (meetings)
l Lightweight code review
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)
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.
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.
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.
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).
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.
20de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Ferramentas de Code Review
21de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Roles e responsabilidades
l Revisor (Reviewers)
l Desenvolvedor.
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ê.
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.
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.
25de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Teddy Bear Technique
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.
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.
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.
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).
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
31de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Livros
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.
33de 33www.centralit.com.br | valdemar.junior@centralit.com.br
Obrigado!
E-Mail
Valdemar.junior@centralit.com.br

SILO - Code Review

  • 1.
    1 de 33www.centralit.com.br| valdemar.junior@centralit.com.br Code Review A favor de um código melhorado e revisado constantemente
  • 2.
    2 de 33www.centralit.com.br| valdemar.junior@centralit.com.br Code Review
  • 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.
  • 4.
    4 de 33www.centralit.com.br| valdemar.junior@centralit.com.br Por que fazer Code Review?
  • 5.
    5 de 33www.centralit.com.br| valdemar.junior@centralit.com.br Por que fazer Code Review?
  • 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.
  • 12.
    12de 33www.centralit.com.br |valdemar.junior@centralit.com.br Como Code Review é feito?
  • 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.
  • 20.
    20de 33www.centralit.com.br |valdemar.junior@centralit.com.br Ferramentas de Code Review
  • 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.
  • 25.
    25de 33www.centralit.com.br |valdemar.junior@centralit.com.br Teddy Bear Technique
  • 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
  • 31.
    31de 33www.centralit.com.br |valdemar.junior@centralit.com.br Livros
  • 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.
  • 33.
    33de 33www.centralit.com.br |valdemar.junior@centralit.com.br Obrigado! E-Mail Valdemar.junior@centralit.com.br