Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปปัญหาจากการออกแบบ API

$
0
0

สัปดาห์ที่ผ่านมา
ทำการออกแบบ review และ พัฒนา API ของระบบงาน
พบว่าสิ่งที่ทำออกมานั้นมีปัญหาหลายอย่าง
ไม่ว่าจะเป็นการพัฒนาที่ยาก
ไม่ว่าจะเป็นการใช้งานที่ยากอีก
ดังนั้นจึงสรุปต้นเหตุที่ก่อให้เกิดปัญหาขึ้นมา

ปัญหาแรกคือ รีบทำจนเกินไป

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

แต่ผลที่ออกมากลับตรงข้าม
ทำเสร็จแล้วก็เสร็จไปไม่ตามกลับมาแก้ไขให้ดีขึ้น
ทำแบบปะผุไปเรื่อย ๆ
บ่อยครั้งทำไปทั้ง ๆ ที่ยังไม่รู้หรือไม่เข้าใจ requirement อีกด้วย
แก้ไข flow หนึ่ง ดันไปกระทบ flow อื่นอีก

ปัญหาต่อมาคือ ออกแบบโดยไม่สนใจคนใช้งานเลย

ผลที่ตามมาคือ ผู้ใช้งานลำบอกต่อการใช้งาน API ที่ออกแบบอย่างมาก
พอผู้ใช้งานแจ้งมา
ก็ดันบอกว่า API ใช้งานง่ายจะตาย ไม่เข้าใจได้อย่างไร !!

ดังนั้นควรต้องรับ feedback มาปรับปรุงหรือไม่
หรือต้องย้อนกลับไปตั้งแต่การออกแบบก่อนไหม
ทั้งเรื่องของรูปแบบ request/response ที่มีโครงสร้างที่ดี

อีกปัญหาคือ พยายามเพิ่ม feature เข้ามาเรื่อย ๆ

ก็ให้เกิดความซับซ้อน
ยกตัวอย่างเช่น API ใช้ endpoint เดียวกัน
สำหรับทำงานหลาย ๆ อย่างมากมาย
จะดีกว่าไหม ถ้าทำการแยกออกมาเป็นคนละ endpoint
แต่ด้วยปัญหาข้อแรก จึงก่อให้เกิดปัญหานี้ตามมา !!


Viewing all articles
Browse latest Browse all 1997

Trending Articles