วิธีการบูลีนควรใช้รูปแบบการยืนยันเสมอแม้ว่าจะใช้ในรูปแบบเชิงลบหรือไม่?
สมมติว่าฉันต้องการตรวจสอบว่ามีเอนทิตีอยู่ก่อนสร้างหนึ่งหรือไม่อาร์กิวเมนต์ของฉันคือว่ารูปแบบแรกด้านล่างดีกว่ารูปแบบที่สองไม่ว่าจะใช้วิธีการนี้ในรูปแบบที่ยืนยันหรือไม่
โดยสรุปผมหาอ่านได้ง่ายขึ้นกว่าif(!affirmative)
if(negative)
ฉันมีเพื่อนร่วมงานที่ไม่เห็นด้วยความคิดเหรอ?
แบบฟอร์มแรก:
int entity_id = 42;
if(!entity_exists(entity_id)) create_entity(entity_id);
แบบฟอร์มที่สอง:
int entity_id = 42;
if(entity_not_exist(entity_id)) create_entity(entity_id);
!
ตัวละครหลายครั้งจนทำให้ฉันเข้าใจรหัสผิด ๆ จนกว่าฉันจะอ่านมันอีกครั้ง ดังนั้นฉันอาจเห็นด้วยกับเพื่อนร่วมงานของคุณมากขึ้น ฉันชอบแบบฟอร์มที่ประเมินว่าเป็นจริงเมื่อคุณตรวจสอบ
if (!exists) create()
สามารถถือได้ว่าเป็นการปฏิบัติที่ไม่ดีในหลายภาษา / กรอบงานเนื่องจากมีแนวโน้มที่จะไม่ปลอดภัยต่อเธรด โดยปกติแล้ววิธีที่ต้องการคือการโทรcreate()
และจัดการข้อยกเว้นหรือรหัสส่งคืนที่ระบุว่ามีเอนทิตีอยู่แล้ว แน่นอนว่านี่ไม่ใช่คำตอบสำหรับคำถามจริง (ซึ่งเป็นเหตุผลว่าทำไมจึงเป็นความคิดเห็นเท่านั้น)
if (not entity_exists(entity_id))