Architecture Decision Record

Active theme: Light

← ตัวอย่างบันทึกการตัดสินใจ

บันทึกการตัดสินใจด้านสถาปัตยกรรม: snake_case หรือ camelCase สำหรับ REST API?

การตัดสินใจ: จะใช้ข้อตกลงการตั้งชื่อ snake_case สำหรับจุดปลายทางของ REST API

สถานะ: ยอมรับ

บริบท

ในข้อตกลงการตั้งชื่อสำหรับ REST API มีสองรูปแบบที่ได้รับความนิยม: snake_case และ camelCase รูปแบบ snake_case คือแต่ละคำในชื่อถูกคั่นด้วยขีดล่าง ส่วน camelCase คือคำแรกของชื่อเป็นตัวพิมพ์เล็ก และคำถัดไปมีตัวอักษรแรกเป็นตัวพิมพ์ใหญ่ การตัดสินใจนี้จะกำหนดว่าควรใช้ข้อตกลงการตั้งชื่อใดสำหรับ REST API

ปัจจัยขับเคลื่อนการตัดสินใจ

  • ความสอดคล้องกับข้อตกลงการตั้งชื่อที่มีอยู่ในโครงการ

  • ความอ่านง่ายและความชัดเจนสำหรับทุกคนที่อาจทำงานกับ API

  • ความสอดคล้องกับแนวปฏิบัติที่ดีที่สุดของอุตสาหกรรมสำหรับข้อตกลงการตั้งชื่อ REST API

  • ความง่ายในการนำไปใช้และบำรุงรักษา

การตัดสินใจ

จะใช้ข้อตกลงการตั้งชื่อ snake_case สำหรับจุดปลายทางของ REST API ทางเลือกนี้ขับเคลื่อนโดยปัจจัยต่อไปนี้:

  1. ความสอดคล้อง: โครงการใช้ข้อตกลงการตั้งชื่อ snake_case สำหรับทุกจุดปลายทางอยู่แล้ว และเป็นประโยชน์ที่จะรักษาข้อตกลงนี้เพื่อให้แน่ใจว่าสอดคล้องกันทั่วทั้งโครงการ

  2. ความอ่านง่ายและความชัดเจน: ข้อตกลง snake_case อ่านง่ายกว่าและเข้าใจง่ายกว่า ขีดล่างให้การแยกระหว่างคำอย่างชัดเจน ทำให้แยกวิเคราะห์และเข้าใจความหมายของชื่อได้ง่ายขึ้น

  3. ความสอดคล้องกับแนวปฏิบัติที่ดีที่สุดของอุตสาหกรรม: ข้อตกลง snake_case ใช้กันอย่างแพร่หลายในอุตสาหกรรมและถือเป็นแนวปฏิบัติที่ดีที่สุดสำหรับ REST API ทำให้เป็นตัวเลือกที่ดีสำหรับโครงการ

  4. ความง่ายในการนำไปใช้และบำรุงรักษา: การคงข้อตกลงการตั้งชื่อที่มีอยู่นำไปใช้และบำรุงรักษาง่ายกว่า เพราะโค้ดและเอกสารที่มีอยู่ทั้งหมดจะต้องได้รับการอัปเดตหากเลือกข้อตกลงใหม่

ผลที่ตามมา

การตัดสินใจนี้มีผลที่ตามมาที่อาจเกิดขึ้น

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

  • หากมีการใช้เครื่องมือหรือเฟรมเวิร์กอื่นในโครงการที่อิงข้อตกลง camelCase อย่างมาก อาจต้องใช้ความพยายามเพิ่มเติมในการแปลงระหว่างข้อตกลงการตั้งชื่อ อย่างไรก็ตาม ไม่ใช่ข้อกังวลสำคัญเพราะโครงการได้มาตรฐานตามข้อตกลง snake_case

โดยรวม การตัดสินใจใช้ข้อตกลงการตั้งชื่อ snake_case สำหรับจุดปลายทางของ REST API ให้แนวทางที่สอดคล้อง อ่านง่าย และเป็นมาตรฐานอุตสาหกรรม ในขณะที่นำไปใช้และบำรุงรักษาง่าย

การระบุที่มา: หน้านี้สร้างโดย ChatGPT แล้วแก้ไขเพื่อความชัดเจนและรูปแบบ