ฉันมีโค้ดบางส่วนที่สามารถแสดงเป็น:
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.
}
}
}
ตอนนี้ฉันสงสัยว่านี่เป็นวิธีการที่เหมาะสมหรือฉันควรจะยกเว้น ฉันสามารถหลีกเลี่ยงข้อยกเว้นได้เนื่องจากการส่งคืนจะเหมือนกับการวนซ้ำคอลเลกชันที่ว่างเปล่าความหมายไม่มีรหัสที่สำคัญใด ๆ ถูกเรียกใช้งาน แต่ในทางกลับกันฉันอาจซ่อนปัญหาในรหัสเพราะทำไมทุกคนต้องการโทรDeleteItems
มีnull
พารามิเตอร์หรือไม่ นี่อาจบ่งบอกว่ามีปัญหาที่อื่นในรหัส
นี่เป็นปัญหาที่ฉันมักจะมีกับวิธีการในการบริการเพราะส่วนใหญ่พวกเขาทำอะไรบางอย่างและไม่ส่งคืนผลลัพธ์ดังนั้นถ้าใครบางคนผ่านข้อมูลที่ไม่ถูกต้องแล้วก็ไม่มีอะไรให้บริการ