Quanto sono importanti le notifiche PHP?

7

Recentemente ho attivato tutti i possibili messaggi di errore con error_reporting(-1); , sul mio progetto PHP. Certo, subito ho ricevuto molti messaggi. Ad esempio:

Notice: Undefined variable: foo in /.../file.php on line 205

Quindi ho iniziato ad aggiornare il mio codice per eliminare tutte le notifiche. Principalmente aggiungendo isset($foo) e rendendo $foo = NULL;

Quindi, mi chiedo. Quanto sono importanti questi avvisi? Voglio dire, se la variabile $foo non è impostata, allora dovrebbe essere false / null / not-set di default..so tecnicamente il codice funziona?!

Se eliminassi tutte le notifiche, allora renderebbe il processo più veloce o lo rallenterebbe (perché sto aggiungendo altro codice, isset($foo) , $foo = NULL ecc.)? Come gestite voi ragazzi con questi avvisi, o prestate loro attenzione?
Immagino che la domanda più importante sia: il codice deve essere scritto in modo così rigoroso da non generare mai notifiche o avvisi?

    
posta Kalle H. Väravas 30.08.2011 - 23:49
fonte

4 risposte

1

Se non ha alcun effetto sulla funzionalità del tuo codice, ora o in futuro, non perdere tempo.

Se la particolare linea di codice "offendente" non causa problemi reali, qual è il tuo incentivo a "risolverlo"? Non stai risolvendo alcun problema, stai solo soddisfacendo un interprete zelante.

Viceversa, se la linea che genera l'avviso sta provocando alcune operazioni indesiderate o influenza lo stato di un metodo, risolverlo con tutti i mezzi.

    
risposta data 31.08.2011 - 00:52
fonte
8

Le notifiche sono lì per attirare l'attenzione su cose che potrebbero essere problemi. Ad esempio, molti errori possono derivare da errori di battitura: se il nome della variabile è $filename e io digito $filenaem , alcune lingue lo cattureranno, ma in PHP, è valido. Quindi le notifiche possono essere utili in questi casi.

Usare le notifiche per segnalare potenziali errori mentre scrivi il codice la prima volta può essere un processo molto utile; improvvisamente alzando il livello di avvertenza in una base di codice esistente si traduce spesso in una tonnellata di avvertimenti inutili.

Se il codice deve essere modificato per rimuovere tutti gli avvisi e le notifiche è un'analisi costi-benefici: vale la pena risolvere i problemi? Devi rispondere a ciò caso per caso.

    
risposta data 31.08.2011 - 01:04
fonte
6

Ripulire alcune notifiche può potenzialmente sventare un bug. Le variabili non definite, ad esempio, possono generare errori se si tenta di leggere la variabile che non è stata inizializzata. Quando è possibile, cerco di scrivere avvertenze e di notare il codice libero. Ma, se sto usando il codice di qualcun altro, in genere non mi prendo il tempo per ripulire i loro errori o le notifiche.

    
risposta data 31.08.2011 - 01:00
fonte
1

Il mio approccio generale è di abilitare le notifiche sul computer di sviluppo e disabilitarle su server live. Supponendo che tu non lo sappia, php 5 ha un nuovo livello di errore E_STRICT. Per quanto riguarda il fissaggio dei messaggi di avviso: tocca a voi. Non puoi sapere se un messaggio di avviso causerà un errore a meno che non guardi il codice. Se hai bisogno di tempo per cercare il codice, potresti anche correggerli.

    
risposta data 31.08.2011 - 11:52
fonte

Leggi altre domande sui tag