Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

แก้ไข API Errors ทั่วไป: คู่มือปฏิบัติจริง

API docs บอกวิธีใช้ API แตตอนผิดพลาด คุณอาจโดนทิ้งไว้ Error messages มักไม่ครบ mislead หรือไม่ช่วยเหลือ และ NoMethodError: undefined method '[]' for nil:NilClass จะทำยังไง?

ตอนเรียน API framework library ไม่ได้แค่เรียนใช้ตอนทำงานดี ต้องรู้จัดการตอนมันคืน error กลับมา

ทำไมถึงทำลายโค้ด?

มีวิธีง่ายเรียนรู้จัดการตอน API ที่ใช้แตก: แตกมันเอง!

เช่น ผมจะ:

  • ส่งข้อมูลชนิดผิด ส่ง symbol แทน String, String แทน Array, Hash แทน Array ฯลฯ

  • ส่งข้อมูลไม่ครบ ส่ง nil, hashes ข้าม fields, objects เพิ่ง initialize

  • ถ้า API ต้องการ network ตัด WiFi หรือถอดสาย LAN มันแค่ timeout หรือบอกว่าไม่ถึง service ไหน?

  • ถ้า API รับ block โยน exceptions ใน block หรือคืนข้อมูลชนิดผิด

API ดีจะบอกว่าทำผิดอะไร API ยอดเยี่ยมบอกวิธีแก้ แตส่วนใหญ่เจอ Ruby NoMethodError, nil ผิดหวัง หรือค่าคืนแปลกๆ

ทำไมต้องแตกโค้ด?

ไม่ได้แย่ทั้งหมด ถ้าเล่น open-source gem สามารถเข้าใจ ที่มา ของพฤติกรรมผิดปกติ และ ทำไม มันเกิด debug อ่านโค้ดนิดหน่อย เรียนรู้เยอะเกี่ยว library/API

เจอที่มา NoMethodError แล้ว ไปต่อได้ คุณสามารถแก้ error message ให้คนต่อไปที่เจอปัญหาจริง! การแก้ error messages เล็กๆ ทำ open-source contributions และ pull requests ง่ายๆ ทำให้ Ruby ecosystem ดีขึ้นสำหรับทุกคน

ถึง closed-source REST API ก็ได้ประโยชน์ หลังเห็น errors ต่างๆ จาก API แล้ว จะแก้ปัญหาง่ายขึ้นตอนเจอ error จริง

คุยกับ errors และ fixing code รอบๆ คุณจะมองโค้ดเสียเป็นปริศนาที่แก้ได้ ไม่ถอยหลังตอนเห็น exception และ backtrace แทนจะมองเป็นโอกาสเรียนรู้ระบบ

สุดท้าย รู้ว่าโค้ดแตก คุณประกอบกลับได้ ความมั่นใจลอง libraries/APIs ใหม่เพิ่มขึ้น ความกล้าเพิ่ม อัตรา การเรียนรู้สิ่งใหม่