Screen Shot 2558-04-25 at 1.40.12 PM
เรื่องที่ 37 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Don’t Be Cute with Your Test Data
สิ่งที่คุณสร้างขึ้นมานั้น ต้องมีความหมายเสมอ
คิดไว้เสมอว่า สิ่งที่คุณสร้างมันคือ
สิ่งที่คนอื่นๆ จะต้องมองเห็น
สิ่งที่คนอื่นๆ จะต้องอ่าน
สิ่งที่คนอื่นๆ จะต้องเข้าใจ

แล้วคุณล่ะ ทำอย่างไรกันอยู่หรือ !!

ลองย้อนกลับไปดูประวัติศาสตร์ของ programming

จะพบว่า มันสิ่งทั้งที่ดี และ ไม่ดี
บ่อยครั้งจะพบว่า มันคือสงครามขนาดย่อมๆ !!
และมีเรื่องราวเกิดขึ้นอยู่อย่างเสมอ

คำถาม
มันมีสาเหตุมาจากอะไรบ้างนะ ?
คำตอบ
ก็แต่ละคน แต่ละทีม ต่างคนต่างทำงานของตนไป
โดยไม่สนใจใครเลย
และสุดท้ายได้ผลงานที่แย่ออกมา
และนั่นคือ จุดเริ่มต้นแห่งสงคราม … น้ำลาย !!
และมันส่งผลต่อทั้งตัวเราเอง ทีม บริษัท และ ลูกค้า !!

ตัวอย่างเช่น
ในการประชุมความคืบหน้าของการพัฒนาให้กับลูกค้า
โดยให้ลูกค้า หรือ ทางทีมงานเป็นคน demo ระบบงานให้ดู

เมื่อ click ไปที่ใดที่หนึ่ง แล้วระบบแสดงข้อความบางอย่างขึ้นมา
เช่น Don’t click me again, sadddd
สำหรับ feature ที่ยังไม่เสร็จ

หรือแสดงข้อความบางอย่างเมื่อระบบภายในทำงานผิดพลาด
อาทิเช่น database ทำงานผิดพลาด
จะแสดงว่า WTF database commit fail, Oh shit

หรือบางครั้งข้อมูลในระบบที่ทีมพัฒนาใส่ไว้สำหรับการทดสอบระบบงาน
ใช้ข้อมูลที่ขำๆ ดูเหมือนตลก ข้อมูลมั่วๆ สำหรับทีมพัฒนา
แต่สำหรับลูกค้าล่ะ คุณคิดว่าเขาจะตลกไปกับคุณไหม?
ตัวอย่างเช่น

  • User Test001 มีเงินจำนวน 10 บาท
  • User Test002 มีเงินจำนวน 10 บาท
  • มานี มีเงินจำนวน 1 ล้านบาท
  • จำปีจำปา มีเงินจำนวน1000 บาท
  • asdfghdfgh มีเงินจำนวน 500 บาท

ถ้าคุณเป็นลูกค้า แล้วมาลองทดสอบใช้งานระบบ
แล้วเจอข้อความ และ ข้อมูล แบบนี้คุณจะรู้สึกอย่างไร ?
คงจะตลกไปกับคุณหรือเปล่านะ ?
มันน่าคิดนะครับ ?

ดังนั้น ปกติคุณทำกันแบบไหนหรือ ?

ลองคิดดูถ้าคุณนำ source code ของคุณขึ้น repository ที่เป็น public

หรือแม้จะเป็นเพียงในองค์กร
แล้วมาเห็น source code ที่คุณเขียนขึ้นมา
แล้วตะรู็สึกอย่างไรนะ ?

ตัวอย่างเช่น
Source code ของระบบปฏิบัติการ Window 2000
ที่ถูกเปิดเผยออกมา ให้เราไป download มาดูและศึกษาได้
พบว่ามี source code นั้นมี comment ที่แจ่มๆ เยอะเลย เช่น

  • TERRIBLE HORRIBLE NO GOOD VERY BAD HACK
  • IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED
  • DOING SO FUCKS THE BUILD PROCESS
  • we are such morons. Wiz97 underwent a redesign between IE4 and IE5
  • HACK OF DEATH:
  • TERRIBLE HORRIBLE NO GOOD VERY BAD HACK

ลองไปดูเพิ่มเติมได้ที่ Windows 2000 with funny comment

ลองคิดดูสิว่า
ถ้าคุณใช้งาน Windows 2000 มาทั้งชีวิต
เจอ comment แบบนี้เข้าไป แล้วจะรู็สึกดีมากมายเพียงใด ?

ดังนั้น ให้พึงระลึกไว้ว่า

Developer คือคนที่เขียน code ขึ้นมา
รวมทั้ง comment, logging, test data และอื่นๆอีกมากมาย

ลองถามตัวเองสิว่า
ถ้าสิ่งเหล่านี้มันถูกปล่อยไปให้คนอื่นๆ เห็นแล้ว
คุณจะรู้สึกอย่างไร ?