Práticas recomendadas de desenvolvimento geral do Adobe Commerce
Este tópico descreve a linha de base para um processo de desenvolvimento saudável do Adobe Commerce. Ele descreve processos fundamentais, princípios de codificação e princípios de design de aplicativos para orientar os desenvolvedores.
Essas práticas recomendadas foram desenvolvidas com base em anos de experiência no desenvolvimento e no fornecimento de projetos do Commerce. A Adobe recomenda que as iniciativas técnicas sigam essas práticas recomendadas e que você melhore os processos e o código existentes para alinhá-los.
Convenções de texto
As palavras-chave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" neste tópico devem ser interpretadas conforme descrito em RFC 2119.
Processo
- Uma metodologia de projeto definida DEVE ser acordada antes do início das atividades do projeto. PODE ser Scrum, Waterfall ou qualquer outra metodologia ou combinação de metodologias, desde que esteja definida.
- O desenvolvimento NÃO DEVE começar até que uma estratégia de ramificação para o sistema de controle de versão esteja disponível para a equipe de desenvolvimento.
- O desenvolvimento NÃO DEVE começar até que as especificações técnicas, as histórias de usuários e os casos de uso sejam aprovados, e a aprovação em casos de teste esteja disponível para a equipe de desenvolvimento.
- O desenvolvimento NÃO DEVE começar até que pelo menos um ambiente de desenvolvimento e controle de qualidade esteja disponível.
- Os requisitos específicos do projeto obrigatórios para o início do desenvolvimento PODEM ser documentados em uma Definição de Pronto.
- A aprovação DEVE ser feita por um representante do cliente autorizado a aprovar os resultados do projeto.
- Nas metodologias de projetos Agile, requisitos adicionais PODEM vir após a aprovação. Esses requisitos DEVEM ser tratados como novos requisitos e DEVEM ser capturados, arquitetados e planejados de acordo.
- Todo o desenvolvimento DEVE ser funcionalmente testado pelo desenvolvedor antes do envio.
- Todo o desenvolvimento DEVE passar por testes automatizados antes de ser enviado para revisão do código. Isso PODE ser configurado como um processo automatizado após a criação da solicitação de pull.
- Todo o desenvolvimento DEVE passar pela revisão manual do código por um arquiteto técnico ou desenvolvedor principal antes de ser enviado para o controle de qualidade.
- Todo o desenvolvimento DEVE passar pela garantia de qualidade antes da entrega ao cliente.
- Os requisitos específicos do projeto que são obrigatórios para entrega PODEM ser documentados em uma "Definição de Concluído".
Ambiente
- Todos os desenvolvedores DEVEM usar o mesmo IDE. O PhpStorm é o IDE recomendado para o desenvolvimento do Adobe Commerce.
- Todos os desenvolvedores DEVEM desenvolver e testar usando a mesma pilha de tecnologia usada nos (futuros) servidores de produção. As versões do software nesta pilha de tecnologia DEVEM corresponder às versões principal e secundária do software instalado nos servidores de produção. Consulte requisitos do sistema para obter detalhes sobre a pilha de tecnologia típica do Adobe Commerce.
- O administrador do sistema ou arquiteto técnico PODE fornecer à equipe um ambiente de desenvolvimento local mantido centralmente para garantir e promover ambientes locais iguais e atualizados.
- Os desenvolvedores e engenheiros de controle de qualidade DEVEM ter acesso à linha de comando, ao banco de dados e aos arquivos de registro do ambiente de controle de qualidade. Isso PODE exigir uma conexão VPN.
Controle de versão
As versões de módulo DEVEM seguir o Controle de Versão Semântico 2.0.0 padrão.
As dependências na base de código do Adobe Commerce DEVEM seguir as diretrizes de Dependências de Versão de Módulo.
CONTROLE DE REVISÃO
As confirmações DEVEM ser acompanhadas por mensagens de confirmação significativas.
Segurança
- Funções não seguras NÃO DEVEM ser usadas.
- Estratégias de prevenção XSS DEVEM ser aplicadas.
- Políticas de Segurança de Conteúdo DEVEM ser aplicadas.
- As novas instâncias do Adobe Commerce DEVEM ser entregues na versão de segurança mais recente de uma versão que ainda não atingiu a data de "Fim das correções de segurança". Consulte Política de Ciclo de Vida de Software da Adobe Commerce.