| [Home](home) | [Gerência](gerencia) | [_Processo_](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [Banco de Dados](banco_dados) | [Utilização](utilizacao) | | :----------: | :------------------: | :--------------------: | :------------------------------: | :--------------------------: | :------------------------: | :--------------: | :---------------------------: | :----------------------: | # Processo de Desenvolvimento ## Descrição Esta seção é dedicada a apresentar o processo de desenvolvimento do time, junto dela serão apresentados documentos referentes a maneira que o time se organizou e trabalha. ## Sumário - [Git Workflow](#git-workflow) - [Matriz de Responsabilidade](#matriz-de-responsabilidade) - [Plano de Comunicação](#plano-de-comunicação) - [Plano de Riscos](#plano-de-riscos) ## Git Workflow ### Branches #### Nomes Como padrão para nomes de branches, foi decidido o seguinte: ``` /- ``` Exemplo de Branches: ``` feature/components-InputText // para novos desenvolvimentos bugfix/components-InputText // para correções ``` Para a criação de `components`, `screens`, `containers` e `services`, adotamos o inglês como linguagem padrão, sempre lembrando de utilizar o estilo PascalCase (primeiras letras maiúsculas). #### Criação Para garantir que o processo de desenvolvimento esteja sempre atualizado, lembre-se de voltar para a branch main e executar o seguinte comando antes de criar uma branch nova: ``` git checkout main git pull origin main ``` Depois da execução desse comando é necessário oficialmente criar a Branch, para isso, execute o seguinte comando: ``` git checkout -b ``` Assim que criar a branch, é necessário fazer um `push` para garantir que a mesma estará remota: ``` git push --set-upstream origin ``` Pronto! Agora você já pode começar a programar na sua Branch. ### Commits Para que o código desenvolvido seja salvo em sua branch de maneira remota, é necessário realizar os comandos de `commit` e `push` #### Salvando Localmente Para garantir que apenas o código necessário para funcionamento da tarefa lembre-se de realizar o comando `add` apenas nos arquivos **essenciais** para a tarefa: ``` git add ``` Depois de adicionar todos os arquivos que deseja salvar, execute o commando de commit com uma mensagem curta que represente o que foi trabalhado nesses arquivos adicionados: ``` git commit -m 'descrição da tarefa em português' ``` Não hesite em realizar vários commits, assim podemos ter docuemntado e salvo vários estados do desenvolvimento #### Salvando Remotamente Depois de finalizar o desenvolvimento, envie todos os commits da sua máquina para o servidor remoto. Para isso depois de realizar as etapas de salvamento local, salve remotamente com o comando `push`: ``` git push ``` ### Merge Requests Depois de uma task ter sido desenvolvida e estiver pronta de acordo com os critérios de aceitação, é necessário que a mesma seja enviada para a branch de desenvolvimento. Para isso é necessário abrir um Merge Request pela platafora GitLab: #### Criando o Merge Request A criação pode ser realizada na seção Merge Requests do repositório em que a branch foi criada. Clicando no botão `New Merge Request` siga os seguintes passos: #### OBS.: Quando clicarmos em `New Merge Request`, por padrão, a branch `main` será associada como o destino do merge. Para trocarmos, basta clicar no botão `Change branches`. Nessa tela, selecionar a `Source branch` (a branch que utilizou para a implementação do código) e selecionar a `Target branch` (branch dev) e confirme em `Compare branches and continue`. No final, confirme se está com essa visualização (atenção ao into `dev`): A partir daí: 1. Em `Title`, escreva um título que descreva a funcionalidade adicionada ou bug corrigido; 2. Em `Description`, escreva uma descrição com uma breve justificativa nos arquivos que foram alterados; 3. Caso a tarefa seja visual (criação de componente/tela, correção de bug) adicione um gif exemplificando o uso (se considerar necessário); 4. Na seção `Assignee`, selecione `Assign to me` para que fique registrado quem foi o responsável pelo desenvolvimento daquela tarefa (a pessoa selecionada será chamada caso o revisor tenha dúvidas sobre a tarefa); 5. Em `Milestone` selecione a Sprint em que a tarefa foi realizada; 6. Em `Labels`selecione qual é o tipo de tarefa que foi realizada; 7. Por último, revise se os arquivos que estão sendo enviados estão corretos e clique em `Submit Merge Request`. #### Revisando o Merge Request A revisão de merge request pode ser realizada por qualquer desenvolvedor, mas é preciso da aprovação de pelo menos um AGES III ou AGES IV para que a mesma seja incorporada na dev. Caso haja pendências, relacionadas a documentação do código, padronização ou arquivos enviados, não exite em realizar um novo commit na branch com as mudanças necessárias antes de realizar a integração.