Depois de uma hora analisando o relatório, elaborei a lista a seguir, poderia ser útil para todos que eu acho.
Vou tentar mantê-lo atualizado assim que encontrar mais avisos / erros:
Advertências
A linha excede 80 caracteres; contém X caracteres
Ou
A linha excede o limite máximo de 100 caracteres; contém X caracteres
Esses são os que eu mais vi, são auto-explicativos, é uma boa prática manter as linhas de codificação pequenas para manter um código limpo e legível.
Nenhum espaço encontrado após vírgula na chamada de função
Você chamou uma função que recebe parâmetros e não adicionou um espaço após a vírgula. Exemplo: strrchr($bla,".")
deve serstrrchr($bla, ".")
Esperado \ "while (...) {\ n \"; encontrado \ "enquanto (...) \ n {\ n \"
\ "Foreach esperado (...) {\ n \"; encontrado \ "foreach (...) \ n {\ n \"
Esperado \ "if (...) {\ n \"; encontrado \ "se (...) \ n {\ n \"
Esperado \ "} else {\ n \"; encontrado \ "} \ n mais {\ n \"
Isso significa que você retornou uma linha antes do colchete de abertura dessas instruções PHP.
Exemplo de uma sintaxe incorreta com uma instrução if / else:
if (true)
{
}
else
{
}
Deveria estar
if (true) {
} else {
}
O parêntese de fechamento e a chave de abertura de uma declaração de função de várias linhas devem estar na mesma linha
Na maioria das vezes, isso acontece no construtor em que você declara algo como isto:
public function __construct(
ProductFactory $productFactory,
Test $test
)
{
}
Considerando que deve ser:
public function __construct(
ProductFactory $productFactory,
Test $test
) {
}
O caractere de fim de linha é inválido; esperado \ "\ n \" mas encontrado \ "\ r \ n \"
Acontece na maioria das vezes no início do arquivo, é causado pela maneira como o IDE codifica o caractere de retorno.
A variável \ "sua_variável \" não está no formato válido de camel caps
Toda variável deve usar o formato camel caps, portanto, $your_variable
deve ser$yourVariable
A variável \ "one2Three \" contém números, mas isso é desencorajado
Evite usar números em suas variáveis
Estruturas de controle em linha não são permitidas
Você não deve usar estruturas de controle em linha, como:
else $test = true;
Você deveria usar:
else {
$test = true;
}
A chave de abertura de uma classe deve estar na linha após a definição
Você retornou uma linha ao declarar uma classe:
class Test
{
Você deve manter a chave de abertura na mesma linha:
class Test {
A variável de membro privado \ "yourVariable \" deve conter um sublinhado à esquerda
A variável de membro protegida \ "yourVariable \" deve conter um sublinhado à esquerda
Você deve adicionar um sublinhado à esquerda em suas variáveis de membro protegidas e privadas: $_yourVariable
Ao contrário desses dois, se você adicionar um sublinhado em sua variável pública, poderá obter:
A variável pública do membro \ "_ yourVariable \" não deve conter um sublinhado à esquerda.
O parâmetro do método $ bla nunca é usado
Você passou um parâmetro para um método, mas nunca o usa.
Declaração de função de várias linhas não recuada corretamente; esperado 8 espaços, mas encontrou X
Você adicionou muita indentação aos seus parâmetros de declaração de função:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Deveria estar:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Possível substituição de método inútil detectada
Você está substituindo um método sem adicionar modificações, por exemplo:
public function __construct(Context $context) {
parent::__construct($context);
}
Método LSD modelo load () detectado em loop
Você está usando o load()
método dentro de um loop que não é recomendado e deve ser evitado.
Provavelmente, seu código se parece com isso:
foreach(...) {
$model->load();
}
Se você está carregando um modelo em loop, é realmente muito ruim em termos de desempenho. Se você precisar recuperar apenas alguns atributos, use coleções.
A complexidade ciclomática da função (X) excede 10; considere refatorar a função
Se você não conhece a complexidade ciclomática, sugiro que você leia este post: https://pdepend.org/documentation/software-metrics/cyclomatic-complexity.html . Esse aviso basicamente significa que há muitos loops e condições em sua função.
A instanciação direta de objetos é desencorajada no Magento 2
Isso é causado pelo fato de você estar instanciando um objeto diretamente chamando a classe, por exemplo:
new \Zend_Filter_LocalizedToNormalized
Você deve usar injeção de dependência ou, por último, o gerenciador de objetos.
Comentários referem-se a uma tarefa TODO
Um dos seus comentários contém o seguinte @TODO
sinalizador.
Evite declarações IF sempre verdadeiras ou falsas
Você criou uma condição que parece sempre ser verdadeira ou falsa.
Por exemplo:
$variable = "6";
...
// More code that doesn't change $variable
...
if ($variable)
Erros
O espaço para nome da classe \ "Class \" não está especificado.
Está faltando a use Path\To\Class;
afirmação no início da sua aula.