ตามที่ระบุไว้โดยในความคิดเห็นโดย @ benjamin-gruenbaum สิ่งนี้เรียกว่ากับดักบูลีน:
สมมติว่าฉันมีฟังก์ชั่นเช่นนี้
UpdateRow(var item, bool externalCall);
และในคอนโทรลเลอร์ของฉันค่าexternalCall
นั้นจะเป็นจริงเสมอ วิธีที่ดีที่สุดในการเรียกใช้ฟังก์ชันนี้คืออะไร ฉันมักจะเขียน
UpdateRow(item, true);
แต่ฉันถามตัวเองฉันควรจะประกาศบูลีนเพียงเพื่อระบุว่า 'ความจริง' มีคุณค่าอย่างไร? คุณสามารถรู้ได้โดยดูการประกาศของฟังก์ชั่น แต่จะเร็วและชัดเจนขึ้นถ้าคุณเห็นอะไรบางอย่าง
bool externalCall = true;
UpdateRow(item, externalCall);
PD: ไม่แน่ใจว่าคำถามนี้ตรงกับที่นี่จริงหรือไม่ถ้าไม่ฉันจะขอข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้จากที่ไหน
PD2: ฉันไม่ได้ติดแท็กภาษาใด ๆ 'เพราะฉันคิดว่ามันเป็นปัญหาทั่วไปมาก อย่างไรก็ตามฉันทำงานกับ c # และคำตอบที่ยอมรับนั้นใช้ได้กับ c #
data CallType = ExternalCall | InternalCall
ใน Haskell เช่น