ที่มาของคำว่า Bug

ที่มาของคำว่า Bug image

สวัสดีค่ะ เพื่อนๆ พี่ๆ น้องๆ ทุกคน ไม่ว่าเราจะอยู่ในแวดวงอาชีพไหนๆ แทบทุกคนก็คงเคยได้ยินคำว่า “บั๊ก” หรือ “Bug” กันใช่มั้ยคะ หรือบางคนอาจจะเคยได้ยิน แต่ไม่รู้ว่าไอ่คำว่า Bug เนี้ยมันคืออะไร เค้าพูดกันทำไม ใช่พวกแมลงที่ชอบไต่ไปมายุบยับรึเปล่านะ แต่คนที่ทำงานในแวดวงคอมพิวเตอร์ก็น่าจะพอรู้ดีใช่มั้ยคะ เพราะน่าจะเจอกันบ่อยๆ 5555 วันนี้เราจะลองย้อนอดีตไปดูที่มาของคำว่า “บั๊ก” ศัพท์ที่ใช้แพร่หลายในวงการคอมพิวเตอร์กันค่ะ

 

 

 

 

Bug คืออะไร?

 

ก่อนอื่นเรามารู้ความหมายของคำว่า Bug กันก่อน คำว่าบั๊กเนี้ยมันก็คือจุดบกพร่องหรือว่าข้อผิดพลาดที่เกิดขึ้นกับโปรแกรม ทำให้โปรแกรมทำงานไม่ถูกต้อง หรือไม่ราบรื่นซักเท่าไหร่ บางทีอาจเป็นปัญหาที่เกี่ยวกับตัวเครื่องก็ได้ค่ะ

 

 

เป็นรูปถ่ายเอกสารจาก Bug ของจริง

 

ที่มาของคำว่า “Bug”

 

แล้วคำว่า Bug ที่เค้าพูดๆ กันมันมีที่มามาจากไหนกันนะ ก็ขอย้อนกลับไปเมื่อปี ค.ศ.1947 นู้นเลยค่ะ ตำนานเล่าว่าเป็นเรื่องของ พลเรือตรี เกรซ บรูซเตอร์ มัวเรย์ ฮอปเปอร์ ชาวอเมริกัน เป็นนักวิทยาการคอมพิวเตอร์ และนาวิกโยธินของกองทัพเรือสหรัฐ หนึ่งในโปรแกรมเมอร์คนแรกที่สร้างคอมพิวเตอร์ Harvard Mark I และเธอยังเป็นผู้บุกเบิกการเขียนโปรแกรมคอมพิวเตอร์อีกด้วย

ณ ตอนนั้นเธอกำลังทำงานกับเครื่องคอมพิวเตอร์ Harvard Mark II (เครื่องคอมพิวเตอร์ระบบเครื่องกลไฟฟ้าที่สร้างขึ้นที่มหาวิทยาลัยฮาร์วาร์ด) แล้วเธอและทีมของเธอพบปัญหาการทำงานที่ผิดพลาด หลังจากเธอไปตรวจสอบแล้วพบว่ามีผีเสื้อติดอยู่ในชิ้นส่วนของเครื่องคอมพิวเตอร์ เลยทำให้เครื่องคอมพิวเตอร์เกิดข้อผิดพลาดขึ้น เธอเลยบันทึกเห็นการณ์นี้ลงในสมุดบันทึกการทำงาน พร้อมกับแปะเจ้าน้องผีเสื้อตัวนั้นลงในบันทึก แล้วเขียนลงไปในบันทึกว่า

“First actual case of bug being found”

55555 ตั้งแต่นั้นมาคำว่า “Bug” ก็ถูกใช้กันอย่างแพร่หลายในแวดวงคอมพิวเตอร์ค่ะ

 

 

สาเหตุของ Bug

 

จบไปแล้วกับตำนาน ทีนี้เรามาพูดถึงสาเหตุของการเกิด bug กันบ้าง สาเหตุที่พบได้ทั่วไปในการพัฒนา software ขึ้นมาตัวนึงอาจจะเกิดจากการที่ software ของเราทำงานไม่ตรงตามกับ software spec หรือทำตาม spec แต่มีข้อผิดพลาด ยกตัวอย่างเช่น พัฒนาฟีเจอร์การถอนเงิน พอถอนเงินออกมาแล้ว ยอดเงินคงเหลือในบัญชีดันเพิ่มขึ้นซะได้ ทีนี้ก็ว้าวุ่นเลย

 

 

แนวทางป้องกัน Bug

แล้วเราจะป้องกันการเกิด Bug ได้ยังไงหล่ะ ในมุมมองของผู้พัฒนา software

 

  • อ่าน software spec / requirement อย่างละเอียด และวางแผนการทำงานก่อนลงมือโค้ดเสมอ การวางแผนการทำงานให้ดีตั้งแต่เริ่มถือเป็นก้าวสำคัญในการพัฒนา software และยังช่วยลดข้อผิดพลาดได้ด้วยค่ะ
  • code review → ตรวจสอบโค้ดอย่างละเอียด ทดสอบระบบที่เราเขียนเสมอ และทำอย่างรอบคอบ ตรวจเช็คให้ดีว่าระบบของเราทำงานได้อย่างถูกต้อง ไม่มีข้อผิดพลาด
  • เขียน test case เพื่อช่วยในการตรวจสอบระบบของเรา
  • Tester ก็จำเป็น บางครั้งการให้ผู้พัฒนาระบบทำการทดสอบระบบที่ตัวเองเขียนเองแล้ว deploy to prod เลยก็เกิดช่องโหว่ได้เหมือนกัน เพราะเราเขียนเอง เทสเอง ยังไงก็ต้องรู้อยู่แล้วว่าระบบมันทำงานยังไง ทำให้มองไม่เห็นปัญหาของระบบ การให้บุคคลอื่นเรามาช่วยเทสจะเป็นการทำให้มองเห็นปัญหาได้มากขึ้น เมื่อเจอปัญหาก็สามารถรีบแก้ไขได้เลย ไม่ต้องรอให้ผู้ใช้ระบบจริงๆ มาเจอกับปัญหาเองและเกิดประสบการณ์ที่แย่ต่อระบบของเราได้ค่ะ

 

วันนี้ก็เขียนมายืดยาวแล้ว หวังว่าทุกคนจะได้ประโยชน์ไม่มากก็น้อยนะคะ ขอบคุณมากค้า สวัสดีค้าา 🙏🏼🍃

 

Tag