ฉันกำลังเขียนใบสมัครและฉันมาถึงจุดนี้:
private void SomeMethod()
{
if (Settings.GiveApples)
{
GiveApples();
}
if (Settings.GiveBananas)
{
GiveBananas();
}
}
private void GiveApples()
{
...
}
private void GiveBananas()
{
...
}
นี่ดูตรงไปตรงมาสวย มีเงื่อนไขบางอย่างและหากเป็นจริงวิธีการที่จะถูกเรียก อย่างไรก็ตามฉันคิดว่ามันค่อนข้างดีกว่าที่จะทำสิ่งนี้:
private void SomeMethod()
{
GiveApples();
GiveBananas();
}
private void GiveApples()
{
if (!Settings.GiveApples)
{
return;
}
...
}
private void GiveBananas()
{
if (!Settings.GiveBananas)
{
return;
}
...
}
ในกรณีที่สองแต่ละวิธีจะป้องกันตัวเองดังนั้นแม้ว่าจะมีวิธีใดวิธีหนึ่งGiveApples
หรือGiveBananas
ถูกเรียกจากภายนอกSomeMethod
พวกเขาจะถูกเรียกใช้งานก็ต่อเมื่อมีการตั้งค่าสถานะที่ถูกต้องในการตั้งค่า
นี่เป็นสิ่งที่ฉันควรพิจารณาว่าเป็นปัญหาหรือไม่
ในบริบทปัจจุบันของฉันเป็นไปได้ยากมากที่จะเรียกวิธีการทั้งสองจากภายนอกวิธีนี้ แต่ไม่มีใครสามารถรับประกันได้ว่า