ใส่ใจ Error message กันหน่อยน้า

สำหรับมิตรสหายโปรแกรมเมอร์ทั่วไป Error หรือ Stack trace เป็นสิ่งที่ทุกคนคุ้นเคยกันดี ไม่ว่าจะเป็นในส่วนของ Error handling ภายในระบบ หรือ Assertion ภายใน test ทั้งหลายแหล่ของเราก็ตาม

ในช่วงเริ่มต้น เรามักจะไม่ได้ใส่ใจในส่วนนี้มากนัก ส่วนใหญ่แล้ว จะปล่อยเอาไว้เฉยๆ มี Error ขึ้นมาก็ไปตรวจสอบดูว่ามีปัญหาอะไร แล้วก็แก้ไปตามนั้น

ช่วงแรกๆที่ code ยังน้อยอยู่นั้นมันก็ไม่เป็นปัญหาเท่าไหร่นัก แต่เมื่อระบบใหญ่ขึ้น มีความซับซ้อนมากขึ้น ปัญหาจากการอ่าน Error ไม่รู้เรื่องมันก็ยิ่งหนักขึ้นเรื่อยๆ

พอรู้สึกว่ามันเป็นปัญหาใหญ่อยากจะลงมือแก้ไขมัน ก็กลายเป็นงานที่ยากเกินกว่าจะทำเสร็จได้ในเวลาอันน้อยนิดไปเสียแล้วครับ

เพราะฉะนั้น เรามาเริ่มใส่ใจ Error message ของเรากันดีกว่า

ยกตัวอย่างเฉยๆนะครับ อย่างเช่น Throw exception นั้น อย่าให้มัน Throw ออกไปเฉยๆ

น่าจะบอกไห้ชัดไปเลยว่า Error นี้เกิดขึ้นเพราะอะไร

หรือจะทำเป็น Custom exception ไปเลยก็ได้

แถม เกี่ยวกับ Error handling นั้น มีวิธีบริหารจัดการได้หลากหลาย ลองดูในวีดีโอนี้ครับ

หรือใน Unit test ตรงที่ assert นั้น ถ้าไม่ผ่าน ก็ควรจะบอกให้ชัดไปเลยว่า คาดหวังอะไร แล้วได้อะไร

ลองเพิ่ม Message เข้าไป

แม้กระทั่งใน Robot framework ก็มีโอกาสมีปัญหานี้เช่นกัน ขึ้นอยู่กับ Library ที่เลือกมาใช้ ตัวอย่างเช่น RequestsLibrary ก็ไม่ได้มี Error message ดีๆ มาให้เหมือนกับ Selenium2Library ก็ต้องทำเองครับ

เวลา Error แล้วไปเปิดดูใน report จะเห็นว่า อ่านยากมาก

ลองเพิ่ม Error message เข้าไป

เวลาไปดูใน report ก็จะเข้าใจได้ง่ายขึ้น

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

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.