Ich habe einen Code, der wie folgt dargestellt werden kann:
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.
}
}
}
Jetzt frage ich mich, ob dies der richtige Ansatz ist oder ob ich eine Ausnahme machen soll. Ich kann Ausnahmen vermeiden, da das Zurückgeben dasselbe wäre, als würde eine leere Sammlung durchlaufen, was bedeutet, dass ohnehin kein wichtiger Code ausgeführt wird, aber auf der anderen Seite verstecke ich möglicherweise Probleme irgendwo im Code, denn warum sollte jemand anrufen wollen DeleteItems
mit null
Parameter? Dies kann darauf hindeuten, dass an einer anderen Stelle im Code ein Problem vorliegt.
Dies ist ein Problem, das ich normalerweise bei Methoden in Diensten habe, da die meisten von ihnen etwas tun und kein Ergebnis zurückgeben. Wenn also jemand ungültige Informationen übergibt, hat der Dienst nichts zu tun, sodass er zurückgibt.