ความทุกข์ของโปรแกรมเมอร์ผู้เจอบั๊ก

ความท้าทายอย่างหนึ่งในการทำงานก็คือการได้เรียนรู้ที่จะแก้ปัญหากับที่เจอครับ เราไม่สามารถปฏิเสธได้ว่างานของเราจะราบรื่นเสมอไป แต่ว่าหลังจากที่เราเจอเรื่องเหล่านั้น เรารับมือกับมันอย่างไร ผมว่าตรงนี้คือสิ่งสำคัญที่ทำให้เราเกิดกระบวนการเรียนรู้ใหม่ๆครับ และผมก็คิดว่าอยากจะนำโมเมนต์บางตอนของการทำงานมาเล่าสู่กันฟังด้วย ถือว่าเป็นเรื่องเมาท์ๆจากคนทำงานเนาะ
สิ่งที่เป็นเรื่องปวดหัวของการเขียนโปรแกรมก็คือ “มันทำงานผิดไปจากที่คาดหวัง” ซึ่งเราจะเรียกมันว่า บั๊ก ครับ โดยเจ้าบั๊กจะมากจะน้อยก็แล้วแต่ว่าที่มันทำงานผิดไปนั้น ส่งผลกระทบต่อการใช้งานมากน้อยเพียงไร
 
ตามอุดมคติ เราต้องการอะไรที่สมบูรณ์แบบ แต่ในโลกแห่งความเป็นจริง มันไม่มีอะไรสมบูรณ์แบบเสียทีเดียวหนะสิครับ อย่างแอพมือถือเจ้าใหญ่ๆ ยังต้องมีการอัพเดทแก้ไขบั๊กบางจุดด้วยเลย
 
อย่างเมื่อคืนนี้ครับ ผมมีโปรเจ็คตัวหนึ่งที่ทำให้มันแสดงผลไปตามความต้องการของลูกค้าคือ เป็นระบบ Ecommerce ที่มีรุ่นปีของสินค้าอยู่ด้วย แล้วลูกค้าต้องการให้มันจัดเรียงสินค้าแบบ เรียงจากรุ่นใหม่สุดแพงสุดมาก่อน ซึ่งมันก็เป็นการเปรียบเทียบสองอย่างนั่นเองก็คือ ต้องเปรียบเทียบรุ่นก่อน จากนั้นเอารุ่นที่ได้มามาเปรียบเทียบราคากัน
 
แล้วจากนั้นทีมเราก็เริ่มทำการโค้ดครับ แต่ทำไมมันมีสินค้าอยู่ตัวหนึ่ง ที่ราคา 9,900 บาท หลุดเงื่อนไขตลอดเวลา มัน กระโดดมาก่อนสินค้าราคา 12,000 ได้ยังไง
 
ผมก็เริ่มนั่งเช็คไปเรื่อยๆ ว่าเอ ทำไมมันผิดปกตินะ แล้วพอไล่ดูเรื่อยๆก็เห็นว่ามันเรียงสินค้าให้ประหลาดๆจริงๆ ราคากระโดดมั่วมาก
 
โค้ดเรามีบั๊กแน่นอน (แหงอยู่แล้ว)
 
แต่ประเด็นคือ มันบั๊กตรงไหน?
 
หลังจากสู้กับมันสองสามวัน เมื่อคืนนี้ผมก็เอะใจ เอ๊ะ!! หรือว่ามันเรียงแบบพจนานุกรม คือมองว่า 9 มากกว่า 1 ไม่ได้มองทั้งก้อนว่านี่คือ 9900 นะ . ผมคิดได้แบบนั้นก็เลยลองปรับดู ปรากฎว่าจริงด้วยครับ!! มันเปรียบเทียบแบบตัวอักษร
 
เลยไประบุเลยว่า ค่าตัวนี้ให้เปรียบเทียบแบบตัวเลข (Numeric) นะ
 
ปัญหาก็เลยจบไป
 
โอ้โห บางทีก็เรื่องเส้นผมบังภูเขามากจริงๆครับ แต่พอมาเจอจริงๆ มันก็วุ่นวายนะคับ กุมขมับไปหลายรอบ ว่าทำไมมันผิดวะ 5555
 
เดี๋ยวผมจะเอาโค้ดเกี่ยวกับตัวที่ทำตรงนี้มาแชร์ด้วยคับ ผมว่ามีประโยชน์กับคนที่จะไปต่อยอดทางการทำเว็บขายของ เผื่อใครจะมีรูปแบบการ Sorting แบบประหลาดๆ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

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

  • คุกกี้เพื่อการวิเคราะห์

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

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

    คุกกี้ประเภทนี้จะเก็บข้อมูลต่าง ๆ รวมทั้งข้อมูลวส่วนบบุคลเกี่ยวกับตัวคุณเพื่อเราสามารถนำมาวิเคราะห์ และนำเสนอเนื้อหา ให้ตรงกับความเหมาะสมกับความสนใจของคุณ ถ้าหากคุณไม่ยินยอมเราจะไม่สามารถนำเสนอเนื้อหาและโฆษณาได้ไม่ตรงกับความสนใจของคุณ

บันทึก