Revisão de código colaborativa Livro destinado ao processo de revisão de código de maneira colaborativa entre os desenvolvedores 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:”)   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 1 à 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:”) e responder 1 à 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:”) e responder 1 à 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:”) e responder 1 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 . 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. https://mantis.supersoft.com.br/ https://trello.com/ Enviar mensagem no canal "revisao-em-pares" assim como descrito no capítulo Processo: Revisão Para saber situação do caso, verificar emoji: Reaberto. Aguardando nova revisão após corrigir os pontos citados.   liberado da revisão. Caso esteja liberado da revisão, disponibilizar no Mantis o Script de Desenvolvimento através de lembrete enviado para Qualidade. 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. 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) https://mantis.supersoft.com.br/ 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 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. Documento também disponível em: \\ss\desenvolvimento\Documentos 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.