ฉันตีความสถานการณ์นี้ว่ามีปัญหาพื้นฐานสองประการอาจเป็นไปได้สามข้อ
- การอัปเกรด SDK ที่ไม่ต้องการทำให้เป็นที่มาซึ่งอาจส่งผลเสียต่อผลิตภัณฑ์
- จากคำถาม: ผู้มีส่วนร่วมที่ดำเนินการอัพเกรดที่ไม่ต้องการไม่ทราบเกี่ยวกับการตัดสินใจก่อนหน้านี้ที่เฉพาะเจาะจงที่จะไม่อัพเกรด
ในความคิดของฉันแรกของเหล่านี้เป็นร้ายแรงที่สุด หากการอัปเกรด SDK ที่ไม่พึงประสงค์สามารถทำให้เป็นรหัสดังนั้นปัญหาอื่น ๆ
มีคนแนะนำให้เพิ่มกรณีทดสอบหน่วยที่จะล้มเหลวหากตรวจพบการอัพเกรด แม้ว่าจะเป็นการป้องกันไม่ให้มีการอัปเกรดเกิดขึ้น แต่ฉันเชื่อว่านี่เป็นเส้นทางที่อันตรายซึ่งนำไปสู่การไหลของลาวาเมื่อเวลาผ่านไป ดูเหมือนจะหลีกเลี่ยงไม่ได้ที่ในบางจุดในอนาคต SDK จะได้รับการอัปเกรดเพื่อนำฟีเจอร์ใหม่หรือการแก้ไขข้อบกพร่องหรือเนื่องจากเวอร์ชันเก่าไม่ได้รับการสนับสนุนอีกต่อไป ลองนึกภาพการเกาหัวอาจจะเป็นข้อโต้แย้งที่จะเกิดขึ้นเมื่อการทดสอบหน่วยนั้นล้มเหลว
ฉันคิดว่าทางออกทั่วไปที่สุดคือการปรับกระบวนการพัฒนา สำหรับ git ใช้กระบวนการร้องขอการดึง สำหรับการโค่นล้มและเครื่องมือรุ่นเก่าให้ใช้กิ่งไม้และส่วนต่าง แต่มีกระบวนการบางอย่างที่ช่วยให้ผู้พัฒนาระดับสูงสามารถตรวจจับปัญหาเหล่านี้ได้ก่อนที่จะทำให้เป็นโค้ดเบสและส่งผลกระทบต่อผู้พัฒนารายอื่น
หากกระบวนการร้องขอการดึงถูกนำมาใช้ในสถานการณ์ของคุณและหากคำขอการดึงแต่ละครั้งแคบและเจาะจงจะไม่เสียเวลามากนัก คำขอดึงเพื่ออัปเกรด SDK จะถูกส่งไปและปฏิเสธพร้อมความคิดเห็นว่าไม่ต้องการอัปเกรด ไม่มีใครได้รับผลกระทบและไม่จำเป็นต้องเปลี่ยนการอัปเกรด SDK ในขณะนี้
แต่เพื่อตอบคำถามเดิมโดยตรงฉันเห็นด้วยกับผู้อื่นที่คาดหวังว่านักพัฒนาทั้งหมดจะอ่านประวัติการแก้ไขทั้งหมดของรหัสบันทึกประจำรุ่นและอื่น ๆ สำหรับการแจ้งเตือนเช่นนี้เป็นการเสียเวลาอันมีค่า เกิดอะไรขึ้นกับอีเมลสั้น ๆ ของทีม
ปัญหาที่สามที่เป็นไปได้: เหตุใดจึงไม่ต้องการการอัปเกรดตั้งแต่แรก เห็นได้ชัดว่านักพัฒนาอย่างน้อยหนึ่งคนคิดว่าการอัพเกรดจะเป็นเรื่องดี มีเหตุผลที่ดีมากมายในการชะลอการอัปเกรด แต่ก็มีเหตุผลที่ไม่ดีมากมาย ระวังเพื่อหลีกเลี่ยงการไหลของลาวา (รหัสที่เข้ากันได้แบบย้อนกลับโดยไม่จำเป็น) และลัทธิการขนส่งสินค้า ("เราไม่สามารถอัพเกรดได้ แต่ฉันไม่รู้ว่าทำไม") รูปแบบการต่อต้าน!