# 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:

<table border="1" id="bkmrk-caso-43827link%3A-http" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">**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**</td></tr></tbody></table>

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 responder<sup>1</sup> à 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 responder<sup>1</sup> à mensagem da seguinte maneira:

<table border="1" id="bkmrk-unit%3A-exemplo.paslin" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 100%;">**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</td></tr></tbody></table>

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 responder<sup>1</sup> à mensagem inicial enviada anteriormente informando que a revisão foi feita e deve-se dar continuidade ao caso.

<p class="callout info">*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”).*</p>

# 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 responder<sup>1</sup> 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 <span style="text-decoration: underline;">[revisão](https://wiki.supersoft.com.br/books/revisao-de-codigo-colaborativa/page/revisao)</span>.

**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.

<p class="callout info">*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”).*</p>

# 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)<sup>[https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/)</sup>

[![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)<sup>[https://trello.com/](https://trello.com/)</sup>

Enviar mensagem no canal "revisao-em-pares" assim como descrito no capítulo <span style="text-decoration: underline;">[Processo: Revisão](https://wiki.supersoft.com.br/books/revisao-de-codigo-colaborativa/page/revisao)</span>

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)

<sup>[https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/)</sup>

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)

<sup>[https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/)</sup>

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)

<sup>[https://mantis.supersoft.com.br/](https://mantis.supersoft.com.br/)</sup>

[![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)

<sup>[https://trello.com/](https://trello.com/)</sup>

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)

<sub>Processo "Revisão de Código", Dezembro 2020</sub>

# 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)

<sup>Processo "Aguardando Revisão", Dezembro 2020</sup>

# 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.