Versioning services - panupongth148/Project-SW-DEV-TOOLS-AND-ENV-Group4 GitHub Wiki

Semantic versioning

Semantic versionning นั้นเป็นรูปแบบที่จะคุ้นเคยกันมากที่สุดของกลุ่มเราจึ้งได้เลือกรูปแบบนี้มาซึ้งประกอบด้วย

  • Major (Breaking change)
    • version ของกำหนดเมื่อมีการเปลี่ยนแปลงครั้งใหญ่ ที่ Incompatible กับ version ปัจจุบัน เป็นการเปลี่ยนแปลงครั้งใหญ่ เช่น API ถูกลบไปเลย หรือ เปลี่ยนวิธีการเรียกใหม่
  • Minor (Backwords compatible)
    • version ของเป็นการเปลี่ยนแปลง หรือเพิ่มสิ่งใหม่เล็กน้อยที่ไม่กระทบของเดิม (Main function) ยังสามารถทำงานร่วมกับของที่มีอยู่ปัจจุบันได้เป็นอย่างดี
  • Patch (Big fixed)
    • version ของการแก้บั๊ก

ตัวอย่างของ version รูปแบบ Semantic versioning

Node js 16.14.2

ข้อดี

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

ข้อเสีย

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