Ho un pezzo di codice che può essere rappresentato come:
public class ItemService {
public void DeleteItems(IEnumerable<Item> items)
{
// Save us from possible NullReferenceException below.
if(items == null)
return;
foreach(var item in items)
{
// For the purpose of this example, lets say I have to iterate over them.
// Go to database and delete them.
}
}
}
Ora mi chiedo se questo è l'approccio giusto o dovrei lanciare un'eccezione. Posso evitare l'eccezione, perché il ritorno sarebbe lo stesso di iterare su una raccolta vuota, il che significa che non viene comunque eseguito alcun codice importante, ma d'altra parte probabilmente sto nascondendo dei problemi da qualche parte nel codice, perché qualcuno dovrebbe voler chiamare DeleteItems
con null
parametro? Questo potrebbe indicare che c'è un problema da qualche altra parte nel codice.
Questo è un problema che di solito ho con i metodi nei servizi, perché la maggior parte di essi fa qualcosa e non restituisce un risultato, quindi se qualcuno trasmette informazioni non valide non c'è nulla da fare per il servizio, quindi restituisce.