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.