May 19 2008

บั๊กที่เกิดบ้างไม่เกิดบ้าง

Category: Internship | Java | OOADm3rLinEz @ 14:20

เป็นโปรเจคที่ทำอยู่ที่ฝึกงานครับ

แบ่งงานกับเพื่อนร่วมทีมเขียน เพื่อนร่วมทีมเขียน Data Access Layer ก็คือคลาสที่ห่อหุ้มการทำงานกับฐานข้อมูลทั้งหมดนั่นแหละ (ฐานข้อมูลที่ใช้คือ IBM DB2 ครับ ชื่อเก่า Cloudscape)  ส่วนผมเขียนส่วนที่เป็น Business Logic แล้วก็ทำ Presentation Layer (เป็น Web-based)

จริงๆแล้วมีวิธีมากมายที่จะสร้างเจ้าตัว DAL ขึ้นมาได้ ทั้งแบบอัตโนมัติ และไม่อัติโนมัติ แต่วิธีที่เราใช้กันเป็นวิธีที่คลาสสิกที่สุด คือการประกอบคำสั่ง SQL ขึ้นมาเอง ส่วนที่มีปัญหาก็คือเรื่องของ DateTime นี่แหละ

วิธีการที่ใช้ประกอบค่า DateTime ขึ้นมา คือเอา วัน เดือน ปี ชั่วโมง นาที วินาที มาต่อกัน เช่น 19-06-2008 15:43:12 เป็นต้น แต่ปรากฎว่าเพื่อนผมลืมไปว่า ถ้าเวลาตอนนั้นค่าของหลักวินาทีเป็นเลขหลักเดียว จะได้ String ผิดๆออกมา เช่น 19-06-2008 15:43:6 (จริงๆแล้วควรเป็น 19-06-2008 15:43:06) ตอนเอางานมารวมกันก็เลยมีปัญหาดังกล่าวเกิดขึ้นบ้างไม่เกิดขึ้นบ้าง เล่นเอางงอยู่นาน ถ้าประมาณคร่าวๆ โอกาสที่จะเกิดข้อผิดพลาดระหว่างการทำงานก็เป็น 1/6 ล่ะครับ

ก็ให้ข้อสังเกตไว้ครับ ว่าพวกข้อผิดพลาดที่เกิดบ้างไม่เกิดบ้าง เป็นไปได้สูงว่าจะเกี่ยวข้องกับเรื่องของเวลา (เช่นเดียวกับการ Random) เห็นเพื่อนบ่นเรื่องบั๊กที่พอจะแก้ก็หายไปแล้วไว้ใน Twitter ก็เลยอยากจดเรื่องนี้ไว้ซักหน่อย

Tags: , , , ,

Comments

1.
tanakorn tanakorn says:

อกหักดีกว่าแก้บั๊กไม่เป็น

2.
mic mic says:

ขอบคุณครับ
เป็นความรู้ที่น่าจะช่วยแก้บั๊กประหลาดๆได้

Comments are closed