สาขาควรจะทำงานได้ดีขึ้นอยู่กับประสบการณ์ของฉันในการใช้ความคิดเห็นก่อนลงมือทำที่งานก่อนหน้า
โปรดทราบว่าในตอนนั้นเราใช้การตรวจสอบล่วงหน้าสำหรับการตรวจสอบแพตช์ที่สำคัญไปยังรหัสการเปิดตัวการผลิตเท่านั้นดังนั้นจึงไม่มีสาขามากนัก
เนื่องจากคุณดูเหมือนว่าจะใช้การตรวจสอบล่วงหน้าสำหรับการเปลี่ยนแปลงทั้งหมดคุณอาจต้องจัดการสาขาจำนวนมาก หากคุณคาดหวังว่านักพัฒนาซอฟต์แวร์จะทำการเปลี่ยนแปลงแบบ "วิจารณ์ได้" ต่อสัปดาห์โดยเฉลี่ยคุณจะมีสาขาประมาณ 50 สาขาทุกปีสำหรับนักพัฒนาทุกคนในทีม หากคุณกำลังใช้งานชิ้นเล็ก ๆ - เช่นคนที่ใช้เวลา 1, 2, 3 ... วัน - คูณ 50 ด้วย 2, 3, 5 ... ตามลำดับ
ด้านล่างมีการพิจารณาอื่น ๆ ไม่กี่ที่จะคำนึงถึงถ้าคุณต้องการวิธีที่ดีที่สุด
1. จัดการกรณีที่รหัสบล็อกตรวจสอบล่าช้าจำเป็นสำหรับสมาชิกในทีมอื่น
สร้างตรวจสอบและแก้ไขข้อขัดแย้งที่เกี่ยวข้องกับกำหนดเวลาตรวจสอบโค้ด ตามความทรงจำของฉันเกี่ยวกับการทบทวนก่อนการเปลี่ยนแปลงตามปกติฉันจัดการกับหนึ่งในโครงการที่ผ่านมากำหนดเวลาที่เหมาะสมประมาณ 3 วันและเวลาที่จะเริ่มกังวลคือเมื่อการตรวจสอบไม่เสร็จสิ้นมากกว่า 1 วันหลังจากส่ง
สำหรับการเปรียบเทียบที่โพสต์การคอมเม้นท์ข้อกำหนดเหล่านี้ผ่อนคลายมากขึ้น (ฉันใช้กำหนดเวลา 2 สัปดาห์และเริ่มกังวลหลังจาก 1 สัปดาห์) - แต่เนื่องจากคุณกำหนดเป้าหมายการรีวิวก่อนหน้านี้อาจไม่น่าสนใจ
2. รวมความขัดแย้งเมื่อส่งรหัสที่ตรวจสอบแล้ว
จะทำอย่างไรถ้าการคอมมิทเพื่อตรวจสอบโค้ดถูกบล็อกโดยการเปลี่ยนแปลงที่ขัดแย้งกันที่คอมมิทชั่นกระทำโดยคนอื่นในขณะที่โค้ดกำลังรอการตรวจสอบอยู่?
คู่ของตัวเลือกที่ต้องพิจารณาคือ
- ย้อนกลับไปที่จุดเริ่มต้นและต้องการให้นักพัฒนาซอฟต์แวร์นำไปใช้ใหม่และทบทวนการเปลี่ยนแปลงอีกครั้งใน
กรณีนี้คุณอาจต้องแก้ไขผลกระทบเชิงลบต่อขวัญและกำลังใจของทีมซึ่งอาจมี (จะ!)
- ส่งผ่านความรับผิดชอบของการรวมไปยังสมาชิกในทีมคนอื่น ๆ ("นายรวม") ใน
กรณีนี้คุณจะต้องตัดสินใจว่าการรวมกิจการแต่ละครั้งควรผ่านการตรวจสอบล่วงหน้าหรือไม่ - และถ้าใช่แล้วจะทำอย่างไรในกรณีที่ การผสานนั้นกลับกลายเป็นความขัดแย้งอื่น
- ละเว้นการเปลี่ยนแปลงที่ทำกับรหัสที่ตรวจสอบแล้วในขั้นตอนของการรวม
สำหรับกรณีนั้นคุณอาจต้องแก้ไขผลกระทบด้านลบต่อขวัญกำลังใจของทีมที่เกี่ยวข้องกับความจริงที่ว่ารหัสที่ได้รับมอบหมายนั้นแตกต่างจากที่ได้รับการตรวจสอบ
- คิดค้นวิธีที่จะหลีกเลี่ยงความขัดแย้ง
แนวทางที่ตรงไปตรงมาคือการอนุญาตให้นักพัฒนาเพียงคนเดียวในเวลาเดียวเพื่อแก้ไขชุดของไฟล์โดยเฉพาะ - แม้ว่าสิ่งนี้จะไม่ปกป้องคุณจากการเปลี่ยนแปลงที่ไม่ได้แก้ไขไฟล์โดยตรง แต่ส่งผลต่อพวกเขาผ่านการเปลี่ยนแปลง API ภายใน . คุณอาจพบว่า "การล็อกในแง่ร้าย" แบบนี้ทำให้เกิดการเปลี่ยนแปลงทั้งระบบและการปรับโครงสร้างลึกนั้นค่อนข้างลำบาก
สำหรับการเปรียบเทียบจะไม่มีปัญหาในการวิจารณ์หลังการกระทำ (เนื่องจากข้อตกลงเหล่านี้กับรหัสที่รวมเข้ากับคำจำกัดความแล้ว) - แต่เนื่องจากคุณกำหนดเป้าหมายการแสดงความคิดเห็นล่วงหน้าสิ่งนี้อาจไม่น่าสนใจ
3. นักพัฒนาซอฟต์แวร์ที่กำลังรอการตรวจสอบ
กำหนดนโยบายที่ชัดเจนว่าผู้พัฒนาที่ส่งบทวิจารณ์ควรเปลี่ยนไปใช้งานใหม่หรือทำอย่างอื่น (เช่นการไล่ผู้ตรวจสอบ)
สำหรับการเปรียบเทียบการตรวจสอบภายหลังการโพสต์แทบจะไม่ต้องการนโยบายที่ชัดเจน (เนื่องจากเป็นเรื่องปกติที่จะดำเนินการงานต่อไปหลังจากที่คุณส่งรหัสและคำนึงถึงว่ากำหนดเวลาตรวจทานเป็นสัปดาห์หรือสองสัปดาห์) - แต่เนื่องจากคุณกำหนดเป้าหมาย ไม่น่าสนใจ.