Este documento tem como propósito orientar os engenheiros de software no desenvolvimento de projetos digitais da CNN, garantindo a qualidade técnica por meio de padrões e boas práticas.
1. Considerações Iniciais
Antes de iniciar qualquer projeto, é obrigatório realizar o estudo e a modelagem inicial utilizando o Domain-Driven Design (DDD).
- O escopo inicial deve ser definido no começo do projeto.
- O modelo deve ser continuamente atualizado à medida que novas funcionalidades são implementadas.
2. Primeiros Passos
- Para projetos existentes, seguir padrão pre-estabelecido.
- Criação de branches: Sempre crie a sua branch a partir da
mastere siga o padrão de nomeação, utilizando o ID da tarefa no Azure DevOps:<id-da-feature>.
3. Desenvolvimento
- Estrutura de pastas: Siga a estrutura inicial de pastas conforme o padrão de arquitetura definido neste guia.
- Testes (TDD): Inicie o desenvolvimento criando testes unitários que validem os requisitos e cenários relevantes da funcionalidade.
- Utilize os critérios de aceite da Feature como base para o desenvolvimento dos testes unitários
- Implementação: Após definir os testes, comece a desenvolver a funcionalidade, seguindo os padrões de código e as boas práticas estabelecidas.
- Testes de integração: Ao finalizar a funcionalidade, crie testes de integração para cobrir os pontos críticos do sistema e os fluxos principais da funcionalidade implementada.
4. Envio para Ambientes
Após a validação local, a demanda deve ser enviada para os ambientes de desenvolvimento (alpha ou develop). Garanta que todos os testes unitários e de integração foram executados e passaram, pois a pipeline de integração contínua irá validar os testes e, em caso de erro, não permitirá o merge.
5. Garantia de Qualidade (QA)
- Antes de enviar a demanda para o time de QA, certifique-se de que todos os requisitos da tarefa foram implementados.
- Caso a demanda retorne com um bug, é obrigatório criar um novo teste (unitário ou de integração) que cubra o caso reportado.
6. Code Review
Todo Pull Request deve seguir as seguintes diretrizes:
- Tamanho: As alterações devem ser limitadas a no máximo 400 linhas. Essa limitação garante mais credibilidade e segurança ao processo de revisão, facilitando a análise e o entendimento do código.
- Validação: Os revisores devem validar a clareza do código, a cobertura de testes e a aderência aos padrões e à arquitetura definidos.
Guia de implementações:
Este documento apresenta as diretrizes técnicas obrigatórias para a stack. Nele, são detalhados exemplos de código, a arquitetura padrão, exemplos de testes e um boilerplate de interfaces genéricas
