SlideShare uma empresa Scribd logo
1 de 33
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

Mais conteúdo relacionado

Destaque

Destaque (20)

Plan de estudios mco
Plan de estudios mcoPlan de estudios mco
Plan de estudios mco
 
Apresentação recife energia
Apresentação recife energiaApresentação recife energia
Apresentação recife energia
 
S Sorensen Design Portfolio Nfm 2011
S Sorensen Design Portfolio Nfm 2011S Sorensen Design Portfolio Nfm 2011
S Sorensen Design Portfolio Nfm 2011
 
Geração Y: Release sobre as Gerações
Geração Y: Release sobre as GeraçõesGeração Y: Release sobre as Gerações
Geração Y: Release sobre as Gerações
 
Comonaoserassaltado
ComonaoserassaltadoComonaoserassaltado
Comonaoserassaltado
 
Ccb
CcbCcb
Ccb
 
Aviso aos navegantes folheto 08 2007
Aviso aos navegantes folheto 08 2007Aviso aos navegantes folheto 08 2007
Aviso aos navegantes folheto 08 2007
 
Cabo hdmi-Cirilo Cabos
Cabo hdmi-Cirilo CabosCabo hdmi-Cirilo Cabos
Cabo hdmi-Cirilo Cabos
 
Revista CeliMallDecor
Revista CeliMallDecorRevista CeliMallDecor
Revista CeliMallDecor
 
Chamada 10.2016 cursista
Chamada 10.2016 cursistaChamada 10.2016 cursista
Chamada 10.2016 cursista
 
Revista aprendiz2012
Revista aprendiz2012Revista aprendiz2012
Revista aprendiz2012
 
Provimento nº 37 CGJ / ES
Provimento nº 37 CGJ / ESProvimento nº 37 CGJ / ES
Provimento nº 37 CGJ / ES
 
Apresentacao Centro America FM
Apresentacao Centro America FMApresentacao Centro America FM
Apresentacao Centro America FM
 
Centrosema Spp
Centrosema SppCentrosema Spp
Centrosema Spp
 
Edital paes 2016
Edital paes 2016Edital paes 2016
Edital paes 2016
 
QuickCase CEDISA
QuickCase CEDISAQuickCase CEDISA
QuickCase CEDISA
 
ALBERGUE CORAÇÃO DE MÃE
ALBERGUE CORAÇÃO DE MÃEALBERGUE CORAÇÃO DE MÃE
ALBERGUE CORAÇÃO DE MÃE
 
Apresentação Institucional CIMCORP
Apresentação Institucional CIMCORPApresentação Institucional CIMCORP
Apresentação Institucional CIMCORP
 
JOVEM APRENDIZ - CEJA BRASIL
JOVEM APRENDIZ - CEJA BRASILJOVEM APRENDIZ - CEJA BRASIL
JOVEM APRENDIZ - CEJA BRASIL
 
SUSTENTABILIDADE
SUSTENTABILIDADE SUSTENTABILIDADE
SUSTENTABILIDADE
 

Semelhante a Code Review: Guia completo para revisão de código

Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
Cleaner-Code-CentralIT-2015
Cleaner-Code-CentralIT-2015Cleaner-Code-CentralIT-2015
Cleaner-Code-CentralIT-2015Valdemar Júnior
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de SoftwareIgor Takenami
 
Como criar uma cultura de qualidade de código
Como criar uma cultura de qualidade de código Como criar uma cultura de qualidade de código
Como criar uma cultura de qualidade de código João Lethier
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesCristiano Caetano
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
 
Compartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code reviewCompartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code reviewAntonio Spinelli
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareQualister
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Maurício Aniche
 
Culture Code Coderockr
Culture Code CoderockrCulture Code Coderockr
Culture Code CoderockrCoderockr
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducaolicardino
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfIvanFontainha
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 

Semelhante a Code Review: Guia completo para revisão de código (20)

Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
Cleaner-Code-CentralIT-2015
Cleaner-Code-CentralIT-2015Cleaner-Code-CentralIT-2015
Cleaner-Code-CentralIT-2015
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
 
Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de Software
 
Como criar uma cultura de qualidade de código
Como criar uma cultura de qualidade de código Como criar uma cultura de qualidade de código
Como criar uma cultura de qualidade de código
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
Compartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code reviewCompartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code review
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
 
Culture Code Coderockr
Culture Code CoderockrCulture Code Coderockr
Culture Code Coderockr
 
Pentest web
Pentest webPentest web
Pentest web
 
Aula 1 introducao
Aula 1   introducaoAula 1   introducao
Aula 1 introducao
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 

Code Review: Guia completo para revisão de código

  • 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