ไปเจอ 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