Efeitos da Prática de 
Revisão de Código na Caelum: 
Um Estudo Preliminar em Duas Equipes 
Maurício Aniche 
Francisco Sokol 
Universidade de São Paulo 
Caelum Ensino e Inovação
O que é 
revisão de código ? não aparece nem no 
questionário da 
VersionOne 
verificação e validação 
do código escrito por 
outros desenvolvedores 
feitas de maneiras 
diferentes, o objetivo é 
aumentar a qualidade
E na Caelum, 
como vocês fazem? 
ambas usam o github 
como ferramenta 
equipes tem revisão de 
código no seu processo
RQ: Entender como 
a prática de revisão 
de código ajuda 
essas equipes
Trabalhos 
relacionados ? Mantyla confirma os 
achados de Siy 
Kemerer mostra que a prática é 
eficaz para localização de defeitos 
Siy mostra que defeitos encontrados são 
pequenos, mas que sua refatoração 
ajuda na manutenabilidade
Planejamento do 
estudo ? duas equipes 
extraímos comentários 
do github 
extraímos métricas 
de código 
questionário 
comparamos o antes 
e o depois
Os projetos ? Projeto # de classes # de commits # de devs 
Gnarus 924 10451 33 
Caelumweb 1321 12077 59
Métricas de 
código ? 
Acoplamento Eferente 
LCOM-HS 
Linhas de código 
McCabe
O questionário ? antes e depois de verem os gráficos 
basicamente perguntava quais as 
vantagens que ele via na revisão de 
código no seu projeto
E os resultados ?
E o questionário ? 
melhoria da qualidade 
interna do código diminuição na quantidade 
de defeitos 
disseminação de conhecimento 
inerente ao processo
Disseminação de 
conhecimento ! "Alguns desenvolvedores aprendem técnicas e tecnologias com os outros." 
"Ensino de boas práticas para pessoas menos experientes, mais clareza e ciência dos 
padrões de código do projeto, bugs são pegos mais cedo..."
Localização de 
defeitos ! (...) menos bugs entram em produção, já que todo código é revisado... para 
passar algo, duas pessoas precisam ``errar'' é não uma. 
(...) a maioria das coisas que pegamos no code review são possíveis bugs ligados à 
regra de negócio.
O que elese acharam 
dos resultados ? 
"Não acho justo. Eu pelo menos tenho muito a ganhar nas revisões, seja quando 
eu estou revisando ou quando alguém está revisando meu código. Acredito que 
este tipo de coisa não pode ser mensurada." 
"Ainda acredito que a prática de revisão é importante, ajudando-nos a encontrar 
possíveis erros já vivenciados por outros desenvolvedores. O code review pode 
ajudar muito também no processo de aprendizado de um novo membro da equipe." 
"Uma revisão, não necessariamente deve melhorar a qualidade do código. É mais pra 
garantir que o código vai funcionar como deve (inclusive sendo ``mantível'' no 
futuro)."
Comparação com 
os outros trabalhos? Diminuição de 
Melhora na 
Disseminação de 
defeitos 
qualidade interna 
conhecimento 
Kemerer et al X 
Siy et al X 
Mantyla et al X X X 
Este estudo X X* X
Ameaças 
a Validade ? A heurística. Olhar o valor antes e depois pode se problemático. 
Apesar deles falarem sobre o aprendizado intenso e a redução de bugs, não 
triangulamos essas informações. 
A maneira informal e falta de treinamento específico em revisão de código podem 
diferir de outras empresas.
Conclusões ? 
disseminação de 
conhecimento diminuição na quantidade 
de defeitos 
acreditam na melhoria da 
qualidade interna do código
Trabalhos futuros ? 
Dar treinamentos sobre o assunto para a equipe e repetir o estudo. 
Sugerir a outras empresas que também descubram os reais efeitos da prática em 
seus times.
Obrigado! 
maurício aniche 
(mauricio.aniche@caelum.com.br) 
francisco sokol 
(francisco.sokol@caelum.com.br)

Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Duas Equipes

  • 1.
    Efeitos da Práticade Revisão de Código na Caelum: Um Estudo Preliminar em Duas Equipes Maurício Aniche Francisco Sokol Universidade de São Paulo Caelum Ensino e Inovação
  • 2.
    O que é revisão de código ? não aparece nem no questionário da VersionOne verificação e validação do código escrito por outros desenvolvedores feitas de maneiras diferentes, o objetivo é aumentar a qualidade
  • 3.
    E na Caelum, como vocês fazem? ambas usam o github como ferramenta equipes tem revisão de código no seu processo
  • 4.
    RQ: Entender como a prática de revisão de código ajuda essas equipes
  • 5.
    Trabalhos relacionados ?Mantyla confirma os achados de Siy Kemerer mostra que a prática é eficaz para localização de defeitos Siy mostra que defeitos encontrados são pequenos, mas que sua refatoração ajuda na manutenabilidade
  • 6.
    Planejamento do estudo? duas equipes extraímos comentários do github extraímos métricas de código questionário comparamos o antes e o depois
  • 7.
    Os projetos ?Projeto # de classes # de commits # de devs Gnarus 924 10451 33 Caelumweb 1321 12077 59
  • 8.
    Métricas de código? Acoplamento Eferente LCOM-HS Linhas de código McCabe
  • 9.
    O questionário ?antes e depois de verem os gráficos basicamente perguntava quais as vantagens que ele via na revisão de código no seu projeto
  • 10.
  • 12.
    E o questionário? melhoria da qualidade interna do código diminuição na quantidade de defeitos disseminação de conhecimento inerente ao processo
  • 13.
    Disseminação de conhecimento! "Alguns desenvolvedores aprendem técnicas e tecnologias com os outros." "Ensino de boas práticas para pessoas menos experientes, mais clareza e ciência dos padrões de código do projeto, bugs são pegos mais cedo..."
  • 14.
    Localização de defeitos! (...) menos bugs entram em produção, já que todo código é revisado... para passar algo, duas pessoas precisam ``errar'' é não uma. (...) a maioria das coisas que pegamos no code review são possíveis bugs ligados à regra de negócio.
  • 15.
    O que eleseacharam dos resultados ? "Não acho justo. Eu pelo menos tenho muito a ganhar nas revisões, seja quando eu estou revisando ou quando alguém está revisando meu código. Acredito que este tipo de coisa não pode ser mensurada." "Ainda acredito que a prática de revisão é importante, ajudando-nos a encontrar possíveis erros já vivenciados por outros desenvolvedores. O code review pode ajudar muito também no processo de aprendizado de um novo membro da equipe." "Uma revisão, não necessariamente deve melhorar a qualidade do código. É mais pra garantir que o código vai funcionar como deve (inclusive sendo ``mantível'' no futuro)."
  • 16.
    Comparação com osoutros trabalhos? Diminuição de Melhora na Disseminação de defeitos qualidade interna conhecimento Kemerer et al X Siy et al X Mantyla et al X X X Este estudo X X* X
  • 17.
    Ameaças a Validade? A heurística. Olhar o valor antes e depois pode se problemático. Apesar deles falarem sobre o aprendizado intenso e a redução de bugs, não triangulamos essas informações. A maneira informal e falta de treinamento específico em revisão de código podem diferir de outras empresas.
  • 18.
    Conclusões ? disseminaçãode conhecimento diminuição na quantidade de defeitos acreditam na melhoria da qualidade interna do código
  • 19.
    Trabalhos futuros ? Dar treinamentos sobre o assunto para a equipe e repetir o estudo. Sugerir a outras empresas que também descubram os reais efeitos da prática em seus times.
  • 20.
    Obrigado! maurício aniche (mauricio.aniche@caelum.com.br) francisco sokol (francisco.sokol@caelum.com.br)