Produtos e versões afetados

Todas as versõescom suporte de:

  • Adobe Commerce na infraestrutura em nuvem
  • Adobe Commerce no local

O que procurar na revisão do código

Estilo

O estilo pode ser testado automaticamente executando a inspeção PhpStorm (veja abaixo).

Configure o PHPMD e o PHPCS e execute a ferramenta Padrão de Codificação da CLI (também abaixo). Há algumas sobreposições, mas ambas também têm testes únicos.

Convenção e estrutura

As revisões de convenção e estrutura são feitas manualmente.

  • A funcionalidade da classe está limitada a uma única responsabilidade?
  • A estrutura de diretórios faz sentido?
  • É a funcionalidade executada no nível correto (servidor, cliente, CSS, JS, banco de dados, estrutura, infraestrutura).
  • O controle de versão está correto?
  • O código não parece convencional ou está tentando contornar um problema da maneira errada?
  • A convenção de nomenclatura para o nome do módulo, nome do pacote e nome do repositório foi aplicada corretamente?
  • Verifique se os estilos CSS globais foram aplicados cuidadosamente e se não estão sendo usados em excesso.

Integralidade

As análises de integridade são feitas manualmente.

  • O código pode ser ativado ou desativado pela configuração e todo o código necessário se comporta conforme esperado?
  • Há alguma configuração presente que seja mencionada no tíquete? Verifique o escopo, o tipo de dados, a validação, a conversão e os valores padrão.
  • A configuração é sempre recuperada no nível mais baixo possível (nível de exibição de armazenamento, nível de site ou nível global)? A recuperação da configuração deve corresponder à definição do escopo no arquivo system.xml.
  • São abrangidos todos os percursos do fluxograma da especificação técnica? Todas as outras especificações técnicas são abrangidas?
  • As ACLs estão definidas para a nova funcionalidade?
  • O PhpDocs está limpo? As mensagens de confirmação estão limpas?
  • Algum código foi comentado ou você está vendo código de depuração?

Desempenho

As análises de desempenho são feitas manualmente, o que pode ser auxiliado pela execução do código em caso de dúvida.

  • As consultas são executadas em um loop? Este loop pode estar fora dos arquivos editados.
  • Você consegue identificar algum atributo de cachable="false"? Eles são aplicados corretamente?

Segurança

As análises de segurança são feitas manualmente, o que pode ser auxiliado pela pesquisa de texto. Parte da verificação de segurança é tratada por testes automatizados.

  • As exceções são registradas quando necessário? Os tipos corretos de exceções são usados?
  • Os plug-ins around podem ser evitados?
  • Os plug-ins do retornam os tipos corretos de dados?
  • Você pode encontrar consultas SQL brutas que devem ser criadas usando a camada de abstração do banco de dados?
  • Algum novo tipo de dados é exposto a qualquer tipo de usuário, administrador ou front-end? Essa exposição é um risco de segurança?
  • Os dados gerados pelo usuário são validados? Tudo o que vem do navegador é considerado gerado pelo usuário, incluindo valores de cookies e cabeçalhos do servidor.

Privacidade e o RGPD

As revisões de privacidade e de GDPR são feitas manualmente.

  • O código lida com dados ou emails do cliente? Preste atenção especial.
  • Se esse código puder ser executado em um loop, ele poderá vazar dados do cliente de um ciclo de loop para outro?
  • Os indicadores de risco são importações, trabalhos cron, emails transacionais e manipuladores de fila de lotes.
  • Garanta o isolamento dos dados do usuário em loops. Adobe aconselha usar fábricas ou repositórios para criar modelos no ciclo de loop, que não são acessíveis fora do loop.