ที่อเมริกา ยังมี project ที่ไม่ได้ใช้พวก SCM อยู่ประมาณ 40 %
อืมม์อยากรู้จังว่าบ้านเรา มีกี่เปอร์เซนต์
คงจะมากกว่า 40 อย่างแน่นอน
ในส่วนตัวผมในแง่งานที่บริษัทฯ, ใช้ SCM มาได้หลายปีอยู่
โดยเริ่มจาก CVS แล้วก็เปลี่ยนมาเป็น SVN
สถานะปัจจุบัน "ชีวิตนี้ขาด SCM ไม่ได้แล้ว"
(prototype บางอัน ทำแค่คนเดียว ยังอุตส่าห์ใส่ SCM ด้วย)
แน่นอนว่าหลังจากเปลี่ยนมาใช้ SCM แล้ว
คุณภาพชีวิตย่อมดีขึ้นแน่นอน
แต่ก็ยังมีประเด็นเล็กๆน้อยที่ยังต้องตามแก้ไขต่อ เช่น
- การใช้อะไรที่มากกว่า trunk
ข้อนี้พบว่า developer ที่บริษัทผม ใช้ SCM ในการ develop main trunk เพียงอย่างเดียว
ไม่มีใครเคยใช้ branches แม้ว่าสภาพงานบางงานเอื้อให้เกิด branch เสียเหลือเกิน
(โปรเจคที่บริษัทฯ ส่วนใหญ่ไม่มี release
เพราะเป็นโปรเจคแบบลูกค้าคนเดียว
แถมยัง evolve ไปเรื่อยๆด้วย) - นิสัยในการแก้ไข code
มี developer หลายๆคนที่ยังติดความเคยชินเก่าๆ ในการแก้ไข source code อยู่ เช่น
สมมติ เรามีx = 1.2 * y
ถ้ามีการแก้ไขขึ้นมา เช่นเปลี่ยน constant ที่ใช้คูณ
แทนที่จะแก้ตรงๆ ก็ดันไปทำแบบนี้แทน// x = 1.2 * y
x = 1.3 * y
คือยังทำเหมือนกับไม่ได้ใช้ SCM
ส่งผลให้ทั้ง source code และผลลัพท์ที่เกิดจากการ diff version, ดูรกหูรกตา - วิธีการ commit
บางคนยังชอบไล่ commit ที่ละ file
แทนที่จะทำ commit เป็น set ของการเปลี่ยนแปลง
(ซึ่งจะทำให้การไล่อ่าน history หรือ ตรวจติดตาม change มันง่ายกว่า) - การใส่คำอธิบาย ในส่วนของการ commit
อันนี้ก็คงประเด็นต่อเนื่องมาจาก comment
ก็คือ ในเมื่อ comment ใน code ยังใส่น้อยอยู่เลย
นับประสาอะไรกับ comment ใน changeset
2 comments:
แบบที่ทำคนเดียวผมเลือก bzr ก่อนเลย
กรณีคนเดียว
ของผมใช้ Mercurial
จริงๆ อยากใช้ darcs
(เพราะมันเขียนด้วย haskell)
แต่ชุดคำสั่งมันไม่ค่อยคุ้น
ก็เลยเลือกใช้ Mercurial
ที่มีศัพท์แสงไกล้เคียง svn, cvs มากกว่า
Post a Comment