1 de 33www.centralit.com.br | [email protected]
Code ReviewA favor de um código melhorado e revisado constantemente
2 de 33www.centralit.com.br | [email protected]
Code Review
3 de 33www.centralit.com.br | [email protected]
Code ReviewCode Review é um exame sistemático, frequentemente conhecido por Peer Review, de códigos fonte.
4 de 33www.centralit.com.br | [email protected]
Por que fazer Code Review?
5 de 33www.centralit.com.br | [email protected]
Por que fazer Code Review?
6 de 33www.centralit.com.br | [email protected]
Por que fazer Code Review?Encontrar e corrigir erros que passam desapercebidos na fase de desenvolvimento.
7 de 33www.centralit.com.br | [email protected]
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 | [email protected]
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 | [email protected]
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 de 33www.centralit.com.br | [email protected]
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 de 33www.centralit.com.br | [email protected]
Por que não fazer Code Review?l Conflito interpessoal.l Efeito “Ego”.l Achar o procedimento muito chato.
12 de 33www.centralit.com.br | [email protected]
Como Code Review é feito?
13 de 33www.centralit.com.br | [email protected]
Como Code Review é feito?l Inspeção formal (meetings)l Lightweight code review
14 de 33www.centralit.com.br | [email protected]
Lightweight Code Reviewl Over-the-shoulderl Pair Programmingl Tool-assisted code review (Pastebins e
IRC)
15 de 33www.centralit.com.br | [email protected]
Como Code Review é feito?l Num 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 de 33www.centralit.com.br | [email protected]
Ferramentas de Code Reviewl São sistemas que ajudam programadores
a encontrarem erros e bugs em códigos fonte.
17 de 33www.centralit.com.br | [email protected]
Ferramentas de Code Reviewl Ferramentas automáticas de análise.l Ferramentas manuais de análise.
18 de 33www.centralit.com.br | [email protected]
Ferramentas automáticasl Analisam código fonte para verificar se
está de acordo com regras pré-definidas ou com as boas práticas. (SONAR, PMD).
19 de 33www.centralit.com.br | [email protected]
Ferramentas manuaisl São ferramentas colaborativas para
inspecionar e discutir mudanças, armazenando o histórico para futuras referências.
20 de 33www.centralit.com.br | [email protected]
Ferramentas de Code Review
21 de 33www.centralit.com.br | [email protected]
Roles e responsabilidadesl Revisor (Reviewers)l Desenvolvedor.
22 de 33www.centralit.com.br | [email protected]
Dicas para os desenvolvedoresl 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 de 33www.centralit.com.br | [email protected]
Dicas para os Revisoresl 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 de 33www.centralit.com.br | [email protected]
Dicas para os Revisoresl 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 de 33www.centralit.com.br | [email protected]
Teddy Bear Technique
26 de 33www.centralit.com.br | [email protected]
Teddy Bear Techniquel Aparentemente o nome veio de uma
universidade onde uma pessoa colocou um urso perto de um computador em um laboratório de computação.
27 de 33www.centralit.com.br | [email protected]
Teddy Bear Techniquel Estudantes tinham que explicar o
problema para o Teddy antes que eles pudessem perguntar aos professores.
28 de 33www.centralit.com.br | [email protected]
Teddy Bear Techniquel Por que? Porque o Teddy
frequentemente resolvia os problemas/dúvidas deles.
29 de 33www.centralit.com.br | [email protected]
Como organizar o Code Review?l Usar branches separados no Sistema
controle de versionamento (VCS).l Usar patches.l Ferramentas manuais (Colaborativas).
30 de 33www.centralit.com.br | [email protected]
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 de 33www.centralit.com.br | [email protected]
Livros
32 de 33www.centralit.com.br | [email protected]
REGRA DOS ESCOTEIROSDeixe a área do acampamento mais limpa do que como vocêa encontrou.