นี่คือขั้นตอนบางอย่างที่คุณสามารถทำตามเพื่อเพิ่มประสิทธิภาพคำสั่ง if...elif...else แบบซ้อนกัน:
- จัดลำดับเส้นทางที่ใช้บ่อยที่สุดไว้ด้านบน - เรื่องนี้ทำให้ไม่ต้องตรวจสอบเงื่อนไขหลายอย่างในเส้นทางที่รันบ่อยที่สุด
- จัดเรียงเส้นทางตามความถี่ในการใช้งาน - วางเงื่อนไขตามลำดับการใช้งานมากไปน้อย
- ใช้ Short-circuiting ให้เกิดประโยชน์ - หากคุณมีคำสั่งแบบนี้:
if heavy_operation() and light_operation():
พิจารณาเปลี่ยนเป็น:if light_operation() and heavy_operation():
เรื่องนี้จะทำให้heavy_operation()ไม่ถูกเรียกใช้หากlight_operation()เป็นFalseสามารถทำได้กับorเช่นกัน - ลองทำให้โครงสร้างแบนลง (Flattening) - แม้จะไม่เพิ่มประสิทธิภาพโค้ดโดยตรง แต่ช่วยทำให้อ่านง่ายขึ้น