หลักการเขียน Commit ที่ถูกต้อง

Dec. 19, 2024 · boychawin

การเขียน commit ที่ดีและถูกต้องถือเป็นเรื่องสำคัญในการพัฒนาโปรเจค โดยเฉพาะเมื่อทำงานร่วมกับทีม เนื่องจาก commit ที่เขียนดีสามารถช่วยให้การติดตามการเปลี่ยนแปลง, การแก้ไขปัญหาย้อนหลัง, และการทำงานร่วมกับทีมเป็นไปได้อย่างราบรื่น

ในบทความนี้เราจะพูดถึงหลักการและแนวทางที่ถูกต้องในการเขียน commit พร้อมตัวอย่างโค้ด

หลักการเขียน Commit ที่ถูกต้อง

  1. ใช้ข้อความ commit ที่ชัดเจนและกระชับ
    • ข้อความ commit ควรบอกให้ชัดเจนว่าแก้ไขอะไรและทำไม โดยไม่ต้องยาวเกินไป
    • ใช้คำกริยาช่องปัจจุบัน เช่น "Add", "Fix", "Update" เป็นต้น

ตัวอย่าง:

git commit -m "Fix bug in login form validation"
  1. เขียนข้อความ commit ให้สอดคล้องกับรูปแบบ

    ควรใช้รูปแบบที่สม่ำเสมอในการเขียน commit โดยอาจแบ่งออกเป็นหัวข้อย่อย เช่น

    • feat (ฟีเจอร์ใหม่)
    • fix (การแก้ไขปัญหา)
    • docs (การเปลี่ยนแปลงเอกสาร)
    • style (การปรับแต่งโค้ด)
    • refactor (การปรับปรุงโค้ดที่ไม่มีผลกระทบต่อฟังก์ชันการทำงาน)
    • test (เพิ่มการทดสอบ)

ตัวอย่าง:

git commit -m "feat: Add user authentication"
git commit -m "fix: Resolve crashing issue on checkout page"
  1. หลีกเลี่ยงการเขียน commit ที่ไม่เกี่ยวข้องกับการเปลี่ยนแปลง

    • ควรหลีกเลี่ยงการรวมหลายการเปลี่ยนแปลงใน commit เดียว เช่น แก้ไข bug, เพิ่มฟีเจอร์, และปรับปรุงการทดสอบใน commit เดียวกัน
    • แยก commit ตามการเปลี่ยนแปลงที่ชัดเจน เช่น เพิ่มฟีเจอร์แยกออกจากการแก้ไข bug
  2. รวมรายละเอียดที่จำเป็นใน commit message

    • หากการเปลี่ยนแปลงมีผลกระทบหรือรายละเอียดที่สำคัญ เช่น ปัญหาที่ถูกแก้ไข หรือวิธีการที่ใช้ในการแก้ไข ควรอธิบายในบรรทัดที่สองของ commit message

ตัวอย่าง:

git commit -m "fix: Resolve login page form validation"

Fixes an issue where the form validation would not trigger if the user left one of the fields empty.
  1. การใช้ข้อความที่มีรูปแบบมาตรฐาน (Conventional Commits)

    แนวทางนี้ช่วยให้การจัดการ commit สะดวกยิ่งขึ้น โดยกำหนดรูปแบบมาตรฐาน เช่น type(scope): description - type: ชนิดของการเปลี่ยนแปลง เช่น feat, fix, docs - scope: ขอบเขตของการเปลี่ยนแปลง (สามารถเลือกได้ตามความเหมาะสม) - description: การอธิบายการเปลี่ยนแปลง

ตัวอย่าง:

    git commit -m "feat(auth): Add JWT authentication"
    git commit -m "fix(user): Correct profile update form validation"

ข้อแนะนำเพิ่มเติมในการเขียน commit

  1. ให้ความสำคัญกับการเขียนข้อความ commit ที่ดี

    • พยายามใช้ข้อความที่อธิบายการเปลี่ยนแปลงได้ชัดเจนและเข้าใจได้ง่าย โดยไม่ต้องอ่านโค้ด
    • ใช้เครื่องมือเช่น git commit --verbose เพื่อแสดงการเปลี่ยนแปลงที่เกี่ยวข้องใน commit
  2. หมั่นตรวจสอบ commit ก่อน push

    • ใช้คำสั่ง git status และ git diff เพื่อตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้นก่อน commit
    • ใช้คำสั่ง git log เพื่อตรวจสอบ commit ล่าสุดใน repository
  3. ใช้ commit ขนาดเล็ก

    • Commit ควรมีขนาดเล็กและมีความหมายเพื่อให้ง่ายต่อการติดตามและตรวจสอบประวัติการเปลี่ยนแปลง

ตัวอย่างโค้ด

# ทำการแก้ไขปัญหาผู้ใช้ไม่สามารถเข้าสู่ระบบได้
git commit -m "fix(auth): Resolve login failure issue"

# เพิ่มฟีเจอร์การสมัครสมาชิกผู้ใช้ใหม่
git commit -m "feat(user): Add user registration feature"

# ปรับปรุงเอกสารการใช้งาน API
git commit -m "docs(api): Update authentication API documentation"

สรุป

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

Tags: git , commit