Code Review é a prática de analisar contribuições em forma de código de outros integrantes de uma equipe de desenvolvimento ou projeto open source.
Garantir a qualidade do código entregue e o cumprimento de boas práticas definidas pelo time.
Buscar formas alternativas para uma solução apresentada, estimulando a criatividade e melhorando a capacidade de resolução de problemas.
O processo é uma ótima oportunidade de compartilhar conhecimentos e acelerar o amadurecimento individual de cada membro tanto quanto da equipe como um todo.
Descentralizar o entendimento de projetos ou funcionalidades, para que não exista um "dono" e todos tenham condições de contribuir e melhorar em diversas áreas da base de código.
Um processo de code review se inicia quando o autor da contribuição abre um pull request. É necessário que seja explicado o motivo das alterações, isso pode ser feito respondendo algumas perguntas essenciais:
- Por que essa mudança é necessária?
- Como a mudança resolve o problema?
É importante que exista um checklist para validar as boas práticas do time como unit tests, linters, code formatters, documentação, etc. E que a validação dos mesmos seja feito de forma automática antes de um revisor iniciar seu trabalho.
Ao sugerir alterações ao autor de um pull request, é interessante que o revisor questione decisões ao invés de dar ordens e que faça sugestões que agreguem à melhoria do código e ao aprendizado do autor.
É necessário que o autor esteja sempre disposto à feedbacks e críticas, e que tenha confiança para defender algumas de suas escolhas enquanto se mantém aberto para diferentes pontos de vista.
Code Reviews extensos são improdutivos, então é recomendável que se mantenha um número de linhas razoáveis e um time box de ate 30 minutos.
Critique o código, não o desenvolvedor - seja gentil com o desenvolvedor, não o código.
TODO