Gestione degli errori
La gestione degli errori è certamente importante quando sviluppiamo, ma spesso essa sembra quasi "dominare" il nostro codice, tanto da offuscarlo e renderlo illegibile.
Usate le eccezioni al posto dei codici d'errore
L'utilizzo delle eccezioni al posto dei codici d'errore migliora di gran lunga la leggibilità del nostro codice.
Utilizzo dei codici d'errore:
Utilizzo delle eccezioni:
Definite le classi per le eccezioni in base alle esigenze
Quando definiamo una classe per un'eccezione, dobbiamo pensare al modo in cui essa può essere cachata e utilizzata. Spesso un'unica classe per eccezioni è sufficiente per distinguere una determinata area/situazione nel codice.
Utilizzo superfluo delle classi per le eccezioni:
Utilizzo corretto delle classi per le eccezioni:
Definite il flusso "normale"
Solitamente, quando si verifica un'eccezione, la gestiamo loggando l'errore, mostrando eventualmente un messaggio all'utente e dopodichè proseguiamo con la normale esecuzione del codice. Tuttavia ci sono casi in cui vogliamo gestire l'eccezione in maniera "speciale":
In questo caso, se il pasto viene consumato, diviene parte del totale, altrimenti il dipendente riceve una somma per tale giorno. Questo codice diventa più semplice da leggere, se gestiamo il caso speciale presente nel blocco catch
attraverso una classe a parte (SPECIAL CASE PATTERN).
Non restituite null
Non restituite null
se qualcosa va storto, piuttosto lanciate un'eccezione o restituite un oggetto Special Case come mostrato nell'esempio precedente. L'utilizzo di null
è sconsigliato perché aumenta il carico di lavoro del chiamante che deve verificare se il valore restituito è null
o meno, portando di conseguenza ad avere condizioni if
annidate.
Prima del refactoring:
Dopo il refactoring:
Non passate null
E' sconsigliato passare null
come argomento (salvo casi particolari), perché questo obbliga al metodo chiamato di verificare il caso in cui l'argomento è null
e il caso in cui non lo è.
Last updated