4
ใช้ #ifdef เพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ในระหว่างการพัฒนา
เป็นวิธีปฏิบัติที่ดีหรือไม่ที่จะใช้ #ifdef ระหว่างการพัฒนาเพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ? ตัวอย่างเช่นฉันต้องการเปลี่ยนพฤติกรรมของรหัสที่มีอยู่ฉันมีความคิดหลายอย่างเกี่ยวกับวิธีการเปลี่ยนพฤติกรรมและจำเป็นต้องสลับระหว่างการใช้งานที่แตกต่างกันเพื่อทดสอบและเปรียบเทียบวิธีการที่แตกต่างกัน การเปลี่ยนแปลงรหัสมักจะซับซ้อนและมีผลต่อวิธีการต่าง ๆ ในไฟล์ที่แตกต่างกัน ฉันมักจะแนะนำตัวระบุหลายตัวและทำอะไรแบบนั้น void foo() { doSomething1(); #ifdef APPROACH1 foo_approach1(); #endif doSomething2(); #ifdef APPROACH2 foo_approach2(); #endif } void bar() { doSomething3(); #ifndef APPROACH3 doSomething4(); #endif doSomething5(); #ifdef APPROACH2 bar_approach2(); #endif } int main() { foo(); bar(); return 0; } วิธีนี้ช่วยให้สามารถสลับไปมาระหว่างวิธีการต่าง ๆ ได้อย่างรวดเร็วและทำทุกอย่างในสำเนาของซอร์สโค้ดเดียว มันเป็นแนวทางที่ดีสำหรับการพัฒนาหรือมีแนวปฏิบัติที่ดีกว่านี้หรือไม่?