ไปเจอ paper ที่น่าสนใจเกี่ยวกับ Error และ Poor practice ของการใช้งาน Git
โดยทำการทดลองและสรุปผลจากการเรียนการสอน
มีหลาย ๆ เรื่องที่น่าสนใจ
เพื่อนำมาใช้ปรับปรุงการเรียนการสอนใช้งาน Git ให้มีประสิทธิภาพที่ดีขึ้น
คิดว่าน่าจะเป็นประโยชน์ต่อคนทำงานด้วยเช่นกัน

เรื่องแรกคือ รูปแบบของ Git Workflow

บ่อยครั้งจะพบว่า 

  • ลืมสร้าง feature branch
  • ที่หนักกว่าคือ สร้าง feature branch จาก feature branch 
  • ทำการ commit ผิด branch

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

เรื่องที่สองคือ รูปแบบของการ commit

Commit message จะไม่สะท้อนถึงการเปลี่ยนแปลงเลย
รวมทั้งในแต่ละ commit มีการเปลี่ยนแปลงจำนวนมาก
ซึ่งทำให้ยากต่อการทำความเข้าใจอย่างมาก

ดังนั้นเรื่องรูปแบบของ commit message ควรต้องกำหนดและตกลงรูปแบบร่วมกัน
และการเปลี่ยนแปลงในแต่ละ commit ไม่ควรเยอะ

ตัวอย่างของ Commit message ให้ดูเพิ่มเติมได้ที่ Conventional Commits

เรื่องที่สามคือ การ push การเปลี่ยนแปลงไปยัง repository

บ่อยครั้งจะพบว่า

  • ทำการ push ที่มีการเปลี่ยนแปลงมากกว่า 1 commit ขึ้นไป ซึ่งทำให้เกิดปัญหาตามมา
  • ทำการ push การเปลี่ยนแปลง code ที่ไม่สามารถ compile และ ไม่ทดสอบการทำงานขึ้นไป
  • ทำการ push เมื่อใกล้ deadline หรือไม่ทำการ push บ่อย ๆ นั่นเอง ก่อให้เกิดปัญหาอื่น ๆ ตามมา เช่นเรื่อง conflict ของการเปลี่ยนแปลงเป็นต้น
  • ที่หนักสุดคือ ทำการ force push การเปลี่ยนแปลงขึ้นไป ซึ่งส่งผลต่อทีมทั้งหมดเลย อันตรายมาก ๆ

เรื่องที่สี่คือ การ merge 

เป็นส่วนที่น่าจะยากที่สุดของการใช้งาน Git และอาจจะทำเกิดปัญหา
เมื่อการ merge นั้น ๆ มีข้อขัดแย้งหรือ conflict และเสียเวลามาแก้ไขอีก

ต้นเหตุของปัญหานี้
จะมาจากไม่ทำการดึงการเปลี่ยนแปลงจาก repository มาบ่อย ๆ
และไม่ทำการ push บ่อย ๆ

อีกเรื่องหนึ่งในการ merge คือ คนใช้งานจะทำการ merge ผิด branch

เรื่องที่ห้าคือ การใช้งาน branch และ tag

มีคำพูดที่บอกว่า มาก branch มากความ มากเรื่อง มากปัญหา
ทั้งการสร้างและใช้งาน บ่อยครั้งที่สร้าง branch/tag ผิดที่
บ่อยครั้งที่สร้าง branch/tag มีชื่อที่ไม่ตรงตามรูปแบบที่กำหนดหรือตกลง

เรื่องสุดท้ายคือ การ revert

เป็นเรื่องที่ผู้ใช้งาน git ผิดพลาดมากที่สุด
เนื่องจากไม่เข้าใจการทำงานแและใช้งานคำสั่ง revert
ดังนั้นความรู้ความเข้าใจเรื่อง พื้นฐานจึงมีความสำคัญมาก ๆ

จาก paper ตัวนี้ น่าจะทำให้เราเห็นว่า

ในการใช้งาน Git เราควรปรับปรุงเรื่องอะไรบ้าง
เพื่อให้สามารถใช้งานได้อย่างถูกต้องและมีประสิทธิภาพ

Reference Website

https://medium.com/swlh/poor-practices-of-future-software-engineers-in-using-git-e42d37a12b72

Tags: