# Revisão de código colaborativa # Processo: Revisão Neste capítulo encontrará a descrição do processo referente a Revisão de Código Colaborativa # Introdução Neste documento se encontram as diretrizes para o processo de revisão de código colaborativa, que visa melhorar o código de maneira conjunta e padronizada. Dando espaço para que todos os desenvolvedores tenham voz e compartilhem a responsabilidade de manter um código limpo e organizado. #### Início do processo de revisão Ao finalizar a implementação/correção do caso, o desenvolvedor deve atualizar o status do caso no Mantis e enviar a seguinte mensagem no canal revisao-em-pares no Rocket Chat:
**Caso 43827** **Link:** https://mantis.supersoft.com.br/desenvol/view.php?id=43827 **Branch:** https://svn.supersoft.com.br/svn/desenvolvimento/branches/Esdras/Caso\_0043827 **À partir da revisão: 21426**
Após o envio da mensagem, o desenvolvedor deve reagir à sua própria mensagem com o emoji de sino , para indicar que aquele caso merece atenção. (Basta pesquisar pelo emoji: “:bell:”) [![Screenshot_18.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-18.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-18.png) # Revisão Ao iniciar a revisão de um caso, o desenvolvedor deve acessar o branch citado na mensagem e verificar as alterações feitas à partir da revisão indicada. Caso todas as alterações estejam dentro dos padrões de código e não apresentem problemas de lógica ou inconsistências, o revisor deve responder1 à mensagem informando que não identificou pontos à serem corrigidos. Caso contrário, o revisor deve reagir à mensagem do caso com o emoji de **exclamação** (basta pesquisar por: “:exclamation:”) [![Screenshot_20.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-20.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-20.png) e responder1 à mensagem da seguinte maneira:
**Unit:** Exemplo.pas **Linha:** 100-10 **Código como está:** { Trecho do código enviado para revisão } **Correção:** { Código corrigido } || Explicação
Quando o segundo desenvolvedor concluir a revisão e não houver mais correções a serem feitas, o mesmo deve reagir à mensagem do caso com o emoji de “ **certo** ” (basta pesquisar por: “:white\_check\_mark:”)[ ![Screenshot_21.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-21.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-21.png) e responder1 à mensagem inicial enviada anteriormente informando que a revisão foi feita e deve-se dar continuidade ao caso.

*1. As mensagens referentes à correção de um caso devem ser feitas dentro de um tópico em resposta à mensagem inicial com as informações do caso. Estas mensagens não devem ser enviadas ao canal para não poluir visualmente o histórico de mensagens (Desmarcar o checkbox “Also send to channel”).*

# Casos Reabertos Ao corrigir os pontos indicados na revisão, o responsável pelo caso deve reagir à mensagem inicial enviada anteriormente com o emoji de **setas no sentido horário** indicando que o caso está retornando (basta pesquisar por: “:arrows\_clockwise:”) [![Screenshot_19.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-19.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-19.png) e responder1 informando que a correção foi feita, requisitar uma nova correção do caso e indicar à partir de qual revision deve ser considerada. A partir dessa etapa, o caso retorna para o processo de [revisão](https://wiki.supersoft.com.br/books/revisao-de-codigo-colaborativa/page/revisao). **Obs.:** Ao observar que o caso retornou da correção, o desenvolvedor que reabriu o caso deve retirar sua reação de “exclamação”, mesmo que não revise naquele momento, para que não confunda com a correção encontrada na outra revisão.

*1. As mensagens referentes à correção de um caso devem ser feitas dentro de um tópico em resposta à mensagem inicial com as informações do caso. Estas mensagens não devem ser enviadas ao canal para não poluir visualmente o histórico de mensagens (Desmarcar o checkbox “Also send to channel”).*

# Processo: Aguardando Revisão Neste capítulo será encontrado o descritivo do processo de Aguardando Revisão # Introdução Ao finalizar a implementação, alterar o status nas ferramentas de controle como Mantis/Trello para Aguardando Revisão de Código. [![Screenshot_22.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-22.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-22.png)[https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/) [![Screenshot_23.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-23.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-23.png)[https://trello.com/](https://trello.com/) Enviar mensagem no canal "revisao-em-pares" assim como descrito no capítulo [Processo: Revisão](https://wiki.supersoft.com.br/books/revisao-de-codigo-colaborativa/page/revisao) Para saber situação do caso, verificar emoji: - [![Screenshot_20.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-20.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-20.png) Reaberto. - [![Screenshot_19.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-19.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-19.png) Aguardando nova revisão após corrigir os pontos citados. - [![Screenshot_21.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/screenshot-21.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/screenshot-21.png) liberado da revisão. Caso esteja liberado da revisão, disponibilizar no Mantis o Script de Desenvolvimento através de lembrete enviado para Qualidade. [![Screenshot_24.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/screenshot-24.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/screenshot-24.png) [https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/) Setor de qualidade começa com "Qua\_", selecione os que farão os testes do seu caso, coloque o Script de Desenvolvimento e aperte em enviar. [![Screenshot_25.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/screenshot-25.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/screenshot-25.png) [https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/) Alterar o status nas ferramentas de controle como Mantis/Trello para Aguardando Testes (caso tenha a coluna "Aguardando Roteiro de Testes", deve se mover para ela no Trello) [![Screenshot_28.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/screenshot-28.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/screenshot-28.png) [https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/) [![Screenshot_26.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/screenshot-26.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/screenshot-26.png) [https://trello.com/](https://trello.com/) Aguardar o andamento dos testes do caso. # Fluxogramas Neste capítulo, se encontram os fluxogramas referentes aos processos envolvidos na revisão de código colaborativa # Fluxograma: Revisão de código Em anexo à esta página, se encontra o documento descritivo à respeito de todo o processo da revisão de código, ilustrado pelo fluxograma abaixo. Documento também disponível em: \\\\ss\\desenvolvimento\\Documentos [![ProcessoRevisaoDeCodigo.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/processorevisaodecodigo.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/processorevisaodecodigo.png) Processo "Revisão de Código", Dezembro 2020 # Fluxograma: Aguardando Revisão Anexo do documento descritivo à respeito do processo de Aguardando Revisão de código, ilustrado pelo fluxograma abaixo, se encontra na página [Revisão de Código.](https://wiki.supersoft.com.br/books/revisao-de-codigo-colaborativa/page/fluxograma-revisao-de-codigo "Revisão de Código") Documento também disponível em: \\\\ss\\desenvolvimento\\Documentos [![ProcessoAguardandoRevisao.png](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/scaled-1680-/processoaguardandorevisao.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2020-12/processoaguardandorevisao.png) Processo "Aguardando Revisão", Dezembro 2020 # Revisão de código colaborativa Capítulo destinado à definição, roteiro, exemplo e informações adicionais do processo referente à revisão de código colaborativa. # Definição do Processo ##### **Resumo do processo** O Processo para revisão de código colaborativa, é um processo interno do departamento de desenvolvimento que tem a função de revisar coletivamente o código dos desenvolvedores para garantir que as implementações estejam dentro do padrão de código vigente e com a lógica mais otimizada possível. Este processo faz parte da dinâmica de um caso, onde um desenvolvedor após finalizar a implementação do tratamento do caso que está trabalhando, submete seu código à revisão para que outros desenvolvedores possam revisar o que foi feito e indicar possíveis correções (caso existam). ##### **Envolvidos no processo** **Indiretamente,** **todos** os integrantes do departamento de desenvolvimento **são responsáveis pelo processo.** **Diretamente**, estão envolvidos **pelo menos, três desenvolvedores**. O desenvolvedor responsável pelo caso, o desenvolvedor que realiza a primeira revisão, e o desenvolvedor que realiza a segunda revisão. ##### **Etapas do Processo** No processo da revisão de código colaborativa, existem as seguintes etapas: - O desenvolvedor responsável pelo caso finaliza a implementação/correção do código e submete o código para revisão. - O caso aguarda a primeira revisão. - Caso sejam encontrados pontos que precisam de correções, o caso é reaberto e o processo é reiniciado. - Caso contrário, o caso aguarda a segunda revisão. - Caso sejam encontrados pontos que precisam de correções, o caso é reaberto e o processo é reiniciado. - Caso contrário, o caso pode avançar para a etapa de testes. ##### **Ponto inicial do processo** O processo da revisão de código colaborativa inicia quando o desenvolvedor responsável pelo caso finaliza a implementação/correção do código, altera o status no mantis e submete o caso no canal "revisao-em-pares" do Rocket chat. ##### **Ponto final do processo** O processo da revisão de código colaborativa finaliza quando o caso passa pelas duas revisões necessárias e não são encontradas mais correções à serem realizadas. ##### **Resultado esperado** O resultado esperado para o final do processo é que o caso tenha sido revisado e aprovado por pelo menos dois desenvolvedores. Após a conclusão da revisão, o caso está apto à ser testado pelo departamento da qualidade.