<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Felipe Baraldi Dezidério</title>
    <description>The latest articles on DEV Community by Felipe Baraldi Dezidério (@felipebaraldi).</description>
    <link>https://dev.to/felipebaraldi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F321389%2Feba11781-234d-463f-a936-bc9cba86d62e.png</url>
      <title>DEV Community: Felipe Baraldi Dezidério</title>
      <link>https://dev.to/felipebaraldi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/felipebaraldi"/>
    <language>en</language>
    <item>
      <title>Como facilitar o review da sua tarefa</title>
      <dc:creator>Felipe Baraldi Dezidério</dc:creator>
      <pubDate>Sun, 28 Feb 2021 20:52:15 +0000</pubDate>
      <link>https://dev.to/convenia/como-facilitar-o-review-da-sua-tarefa-2m9m</link>
      <guid>https://dev.to/convenia/como-facilitar-o-review-da-sua-tarefa-2m9m</guid>
      <description>&lt;p&gt;Olá, sou Felipe Baraldi Dezidério e trabalho como desenvolvedor back end na Convenia.&lt;br&gt;
Aqui nós adotamos uma prática que dita: para entregar uma tarefa é necessário que seja validada e aprovada por ao menos 2 &lt;em&gt;reviewers (revisores)&lt;/em&gt;, sendo obrigatoriamente 1 deles do mesmo &lt;em&gt;squad&lt;/em&gt; de quem desenvolveu a tarefa e o outro podendo ser de outro &lt;em&gt;squad&lt;/em&gt;.&lt;br&gt;
Para nós, fazer &lt;em&gt;review&lt;/em&gt; não é apenas analisar o código e sim validar a tarefa toda. Ao realizar um &lt;em&gt;review&lt;/em&gt;, é necessário você ter um contexto geral do que foi feito, qual o intuito da tarefa e qual o resultado esperado, senão o &lt;em&gt;review&lt;/em&gt; pode se tornar apenas uma análise de código. Mas não vamos entrar em detalhes de como fazer um excelente &lt;em&gt;review&lt;/em&gt; neste artigo, isso é assunto para outro artigo. Vamos tratar de como devemos entregar uma tarefa para que seja feito um bom &lt;em&gt;review&lt;/em&gt; e diminuir os riscos de algum erro ou falha passarem.   &lt;/p&gt;

&lt;h3&gt;
  
  
  Cuidados no desenvolvimento
&lt;/h3&gt;

&lt;p&gt;Durante todo o desenvolvimento da tarefa devemos ir montando uma lista de tudo que é importante ser verificado por quem for fazer o &lt;em&gt;review&lt;/em&gt;, quais os processos necessários para executar a tarefa em seu ambiente de desenvolvimento e também uma lista de tudo que é necessário para fazer o &lt;em&gt;deploy&lt;/em&gt; da tarefa. &lt;br&gt;
Vale ressaltar aqui que é muito importante fazer as anotações em conjunto com o desenvolvimento, se deixar para montá-las após o término do desenvolvimento, há uma enorme possibilidade de esquecermos de colocar algo importante e você pode ter certeza que isso vai acontecer em algum momento.   &lt;/p&gt;

&lt;h3&gt;
  
  
  Roteiro de Testes
&lt;/h3&gt;

&lt;p&gt;O roteiro de testes é a lista que você irá fazer para quem for revisar, é importante descrever nela todos os procedimentos necessários para executar o projeto em seu ambiente local e também os procedimentos que o &lt;em&gt;reviewer (revisor)&lt;/em&gt; deve executar para verificar se as regras de negócio estão se comportando como é esperado.&lt;br&gt;
Imagine que temos um sistema para &lt;em&gt;RH (recursos humanos)&lt;/em&gt;, onde gerenciamos tudo a respeito dos colaboradores de uma empresa e agora estamos desenvolvendo uma tarefa responsável por calcular o saldo de férias que um colaborador possui, para isso temos uma tabela em que diz, que quando o colaborador tem de 6 a 14 faltas ele perde o direito a 6 dias de férias e que quando tem de 15 á 23 dias de faltas ele perde o direito a 12 dias de férias. Ao programar tais condicionais em meu sistema é importante eu já anotar essas regras em um roteiro de testes, para quem for fazer o &lt;em&gt;review&lt;/em&gt; ter esse tipo de informação em mãos a modo de validar se tudo está ocorrendo dentre o esperado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xXLC051G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/YXfIfzu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xXLC051G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/YXfIfzu.png" alt="Roteiro de Testes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Roteiro de &lt;em&gt;Deploy&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;O roteiro de &lt;em&gt;deploy&lt;/em&gt; é a lista que você vai fazer para ser seguida durante o &lt;em&gt;deploy&lt;/em&gt; da tarefa, essa lista por vezes pode estar em branco, quando nenhum procedimento novo for adicionado, mas seria um problemão se durante o &lt;em&gt;deploy&lt;/em&gt; esquecermos de realizar algumas configurações necessárias em nosso servidor.&lt;br&gt;
Imagine que ao desenvolver uma tarefa adicionamos o disparo de email para notificar um colaborador que suas férias estão próximas do vencimento, para isso precisamos adicionar uma conexão com servidor de email em nossas variáveis de ambiente, isso é algo que devemos anotar em nosso roteiro de &lt;em&gt;deploy&lt;/em&gt;, pois quando nós fizermos o &lt;em&gt;deploy&lt;/em&gt; da tarefa não podemos esquecer de configurar o servidor de email no ambiente de produção.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---QsqBg2L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/6CtKXWV.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---QsqBg2L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/6CtKXWV.png" alt="Roteiro de Deploy"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;Checklist&lt;/em&gt; de Informações
&lt;/h2&gt;

&lt;p&gt;Além dos roteiros de testes e &lt;em&gt;deploy&lt;/em&gt;, temos uma &lt;em&gt;checklist&lt;/em&gt; de informações relevantes que compartilhamos em todas as tarefas.&lt;br&gt;
Essa &lt;em&gt;checklist&lt;/em&gt; aborda verificações padrão para todas as aplicações.&lt;br&gt;
São checados por exemplo se foi adicionado ou atualizado alguma dependência, se a documentação foi alterada, se a tarefa causa impacto em nosso ambiente de desenvolvimento, se a tarefa exige novas variáveis de ambiente, entre outros.&lt;br&gt;
A &lt;em&gt;checklist&lt;/em&gt; é sempre desenvolvida pelo autor da tarefa, nós a adotamos como um padrão pois durante o desenvolvimento de uma tarefa, é comum que alguns passos sejam esquecidos de seguir, além disso com o seu preenchimento, outros times também podem fazer a revisão da tarefa e por conta das situações pontuadas, podemos saber facilmente o que a tarefa engloba.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AIkZr_lL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Ga83URR.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AIkZr_lL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Ga83URR.png" alt="Checklist de Informações"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Montando o &lt;em&gt;Overview&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Agora que temos toda nossa tarefa desenvolvida, coberta por testes automatizados e com nossos roteiros escritos, então criamos nosso &lt;em&gt;merge request&lt;/em&gt; para a &lt;em&gt;branch&lt;/em&gt; de partida, ao criar o &lt;em&gt;MR&lt;/em&gt; devemos escrever aqui um bom &lt;em&gt;overview&lt;/em&gt; para nossos &lt;em&gt;reviewers (revisores)&lt;/em&gt;. &lt;br&gt;
Geralmente o &lt;em&gt;overview&lt;/em&gt; das plataformas de hopedagem de código-fonte e arquivos de controle de versão usando &lt;em&gt;GIT&lt;/em&gt;, como as fomosas: &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;, &lt;a href="https://gitlab.com/"&gt;GitLab&lt;/a&gt; e &lt;a href="https://bitbucket.org/"&gt;Bitbucket&lt;/a&gt;, aceitão a linguagem &lt;a href="https://www.markdownguide.org/getting-started/"&gt;markdown&lt;/a&gt;, então devemos abusar de todo o poder que temos em mãos, podemos usar título para separar os tópicos, negrito para destacar coisas importantes, listas para &lt;em&gt;checklists&lt;/em&gt;, imagens para ilustrar a contextualização, tabela para expor alguma regra condicional e o que for necessário para deixar tudo mais bonito, harmonioso e de fácil entendimento.&lt;br&gt;
Sugiro você começar colocando todos os links externos referentes a sua tarefa, como o do local onde está cadastrado a tarefa, do resultado do pipeline de verificação caso tenha um, da documentação caso exista, de outra MR relacionada a essa se houver e tudo que possa contribuir com quem for revisar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UbCzQd8---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/l8tG7Yo.png%3F1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UbCzQd8---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/l8tG7Yo.png%3F1" alt="Overview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Descrevendo a Tarefa
&lt;/h3&gt;

&lt;p&gt;Após a sessão de links devemos colocar uma sessão para descrever sobre a tarefa, é nela que você deve contar qual o objetivo da tarefa, também você vai descrever tudo que foi realizado no desenvolvimento e as regras de negócio que foram seguidas.&lt;br&gt;
É muito importante ser bem detalhista em sua descrição leve-a sério, como se estivesse descrevendo a cena de uma crime para um juiz. Quando um desenvolvedor de outro &lt;em&gt;squad&lt;/em&gt; pegar para revisar uma tarefa que aborda sobre cálculo de folha pagamento, vão existir muitas regras que devem ser seguidas para cumprir com as legislações e o &lt;em&gt;reviewer&lt;/em&gt; que não está por dentro do assunto precisa entender do que se trata, se não, não tem como ele garantir que a tarefa realizada está funcionando como realmente deveria.&lt;br&gt;
Após a sessão de descrição da tarefa vocês podem colocar 1 para o roteiro de testes, 1 para o roteiro de &lt;em&gt;deploy&lt;/em&gt; e 1 para a sua &lt;em&gt;checklist&lt;/em&gt; padrão.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusão
&lt;/h3&gt;

&lt;p&gt;Se nós formos bem atenciosos com todos os detalhes durante o desenvolvimento e dermos o nosso melhor para anotar tudo o que for possível, não vamos correr risco de esquecer algo importante para trás. Tendo um &lt;em&gt;overview&lt;/em&gt; bem detalhado com todas informações necessárias para quem for revisar, te dará a possibilidade de ter outros desenvolvedores que estão fora do seu &lt;em&gt;squad&lt;/em&gt; revisando suas tarefas com segurança.&lt;br&gt;
Por conta das mudanças, é possível que aos poucos, o processo de &lt;em&gt;review&lt;/em&gt; entre times, se torne algo cada vez mais recorrente, pois nesta situação, é comum um time não ter tanto conhecimento da regra de negócio essencial de cada tarefa de outro &lt;em&gt;squad&lt;/em&gt;. &lt;br&gt;
Documentar o que for possível e deixar o acesso público para os desenvolvedores, pode aumentar as chances de uma revisão ser bem sucedida.&lt;br&gt;
Agora que temos tudo muito bem explicado, isso vai desafogar o &lt;em&gt;squad&lt;/em&gt; já que dá uma possibilidade de outros desenvolvedores também revisarem e com tanta informação vai ser mais difícil deixar passar algum problema.&lt;/p&gt;

</description>
      <category>review</category>
      <category>squad</category>
      <category>documentation</category>
      <category>organized</category>
    </item>
  </channel>
</rss>
