Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ทำไมควรหลีกเลี่ยง global variables ใน C/C++


ควรหลีกเลี่ยง global variables ในทุกภาษา ไม่ใช่แค่ C++ เหตุผล:

  • เข้าถึง/แก้ไขได้จากทุกส่วนของโค้ด: ยากมากที่จะติดตามว่ามีใครบ้างที่อาจแก้ไขค่า
  • ไม่มี access control: ไม่สามารถจำกัดให้เฉพาะบางส่วนเข้าถึงได้
  • Tight coupling: โค้ดต่างๆ ผูกมัดกันผ่าน global state
  • Namespace pollution: ชื่อตัวแปรชนกัน นำไปสู่ bug ที่หายาก
  • ยากต่อการทดสอบ (Testing): ยากที่จะแยก (decouple) เพื่อ unit test

有時候จำเป็นต้องใช้ global variable แต่ควรพิจารณาทางเลือกอื่นก่อน อ่านเพิ่ม: Global Variables Are Bad (c2 wiki)