Dopo un'ora che ho esaminato il rapporto, ho trovato il seguente elenco, potrebbe essere utile per tutti quelli che penso.
Cercherò di mantenerlo aggiornato non appena trovo più avvisi / errori:
Avvertenze
La riga supera 80 caratteri; contiene X caratteri
O
La linea supera il limite massimo di 100 caratteri; contiene X caratteri
Quelli sono quelli che ho visto di più, sono autoesplicativi, è una buona pratica mantenere piccole le linee di codifica per mantenere un codice pulito e leggibile.
Nessuno spazio trovato dopo la virgola nella chiamata di funzione
Hai chiamato una funzione che riceve parametri e non ha aggiunto uno spazio dopo la virgola. Esempio: strrchr($bla,".")
dovrebbe esserestrrchr($bla, ".")
Previsto \ "while (...) {\ n \"; trovato \ "while (...) \ n {\ n \"
Previsto \ "foreach (...) {\ n \"; trovato \ "foreach (...) \ n {\ n \"
Previsto \ "if (...) {\ n \"; trovato \ "if (...) \ n {\ n \"
Previsto \ "} altrimenti {\ n \"; trovato \ "} \ n altro {\ n \"
Ciò significa che hai restituito una riga prima della parentesi aperta di quelle istruzioni PHP.
Esempio di sintassi errata con un'istruzione if / else:
if (true)
{
}
else
{
}
Dovrebbe essere
if (true) {
} else {
}
La parentesi di chiusura e il controvento di apertura di una dichiarazione di funzione multilinea devono essere sulla stessa riga
Il più delle volte, succede nel costruttore in cui dichiari qualcosa del genere:
public function __construct(
ProductFactory $productFactory,
Test $test
)
{
}
Considerando che dovrebbe essere:
public function __construct(
ProductFactory $productFactory,
Test $test
) {
}
Il carattere di fine riga non è valido; previsto \ "\ n \" ma trovato \ "\ r \ n \"
Succede il più delle volte all'inizio del file, è causato dal modo in cui l'IDE codifica il carattere restituito.
La variabile \ "variabile_variata" non è in un formato di cappucci cammello valido
Ogni variabile deve utilizzare il formato dei cappucci cammello, quindi $your_variable
dovrebbe essere$yourVariable
La variabile \ "one2Three \" contiene numeri ma questo è scoraggiato
Evita di usare numeri nelle tue variabili
Le strutture di controllo in linea non sono consentite
Non dovresti usare strutture di controllo in linea come:
else $test = true;
Dovresti usare:
else {
$test = true;
}
Il controvento di apertura di una classe deve essere sulla riga dopo la definizione
Hai restituito una riga quando dichiari una classe:
class Test
{
Dovresti mantenere la parentesi graffa di apertura sulla stessa riga:
class Test {
La variabile del membro privato \ "yourVariable \" deve contenere un carattere di sottolineatura iniziale
La variabile membro protetta \ "yourVariable \" deve contenere un carattere di sottolineatura iniziale
È necessario aggiungere un carattere di sottolineatura iniziale alle variabili dei membri privati e protetti: $_yourVariable
Al contrario di questi due, se aggiungi un trattino basso nella tua variabile pubblica puoi ottenere:
La variabile del membro pubblico \ "_ yourVariable \" non deve contenere un carattere di sottolineatura iniziale.
Il parametro del metodo $ bla non viene mai utilizzato
Hai passato un parametro a un metodo ma non lo usi mai.
Dichiarazione di funzione multilinea non rientrata correttamente; previsti 8 spazi ma trovato X
Hai aggiunto troppa indentazione ai parametri della tua dichiarazione di funzione:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Dovrebbe essere:
public function __construct(ProductRepository $productRepository,
ListsInterface $listsInterface,
Data $helper
) {
Rilevato possibile metodo inutile ignorato
Stai eseguendo l'override di un metodo senza aggiungere modifiche, ad esempio:
public function __construct(Context $context) {
parent::__construct($context);
}
Carico del metodo LSD modello () rilevato in loop
Stai usando il load()
metodo all'interno di un ciclo che non è raccomandato e deve essere evitato.
Molto probabilmente il tuo codice è simile al seguente:
foreach(...) {
$model->load();
}
Se stai caricando un modello in un ciclo è davvero piuttosto male in termini di prestazioni. Se hai solo bisogno di recuperare alcuni attributi, dovresti usare invece le raccolte.
La complessità ciclomatica (X) della funzione supera 10; considerare il refactoring della funzione
Se non hai familiarità con la complessità ciclomatica, ti suggerisco di leggere in questo post: https://pdepend.org/documentation/software-metrics/cyclomatic-complexity.html . Questo avviso in sostanza significa che ci sono troppi loop e condizioni nella funzione.
La creazione di istanze di oggetti diretti è scoraggiante in Magento 2
È causato dal fatto che stai istanziando un oggetto direttamente chiamando la classe, ad esempio:
new \Zend_Filter_LocalizedToNormalized
È necessario utilizzare l'iniezione delle dipendenze o un'ultima risorsa, il gestore oggetti.
I commenti si riferiscono a un'attività TODO
Uno dei tuoi commenti contiene il seguente @TODO
flag.
Evita le dichiarazioni IF che sono sempre vere o false
Hai creato una condizione che sembra essere sempre vera o falsa.
Per esempio:
$variable = "6";
...
// More code that doesn't change $variable
...
if ($variable)
Errori
Lo spazio dei nomi per la classe \ "Class \" non è specificato.
Manca la use Path\To\Class;
dichiarazione all'inizio della lezione.