ฉันไม่เห็นด้วยกับกฎนี้และฉันเห็นด้วยกับสิ่งที่Mason Wheelerพูด ฉันต้องการเพิ่มแนวคิดเล็กน้อย
ฉันพยายามที่จะส่งมอบทุกครั้งที่มีการเปลี่ยนแปลงที่มีความหมายในการกระทำ: อาจเป็นได้หลายครั้งต่อวันถ้าฉันแก้ไขข้อบกพร่องเล็ก ๆ หลายครั้งหรือสัปดาห์ละครั้งถ้าฉันทำงานกับซอฟต์แวร์ชิ้นใหญ่ที่ไม่สามารถใช้งานได้ รหัสในวิธีที่มีความหมายใด ๆ จนกว่าจะถึงสถานะที่สอดคล้องกัน
นอกจากนี้ฉันตีความการยอมรับว่าเป็นการเผยแพร่การแก้ไขที่มีความหมายซึ่งมีส่วนช่วยในการทำงานใหม่ให้กับฐานรหัส ฉันคิดว่าควรพยายามล้างข้อมูลโค้ดก่อนที่จะยอมรับเพื่อให้ผู้พัฒนารายอื่นสามารถเข้าใจความหมายและวัตถุประสงค์ของการเปลี่ยนแปลงเมื่อพวกเขาดูประวัติการแก้ไข การเปลี่ยนแปลงน้อยลงนักพัฒนาอื่น ๆ ที่เห็นในประวัติศาสตร์ดีกว่า: เมื่อฉันดูที่ประวัติการแก้ไขฉันต้องการดูการเพิ่มที่เพิ่มฟังก์ชั่นที่มีความหมายบางอย่าง ฉันไม่สนใจความคิดเล็ก ๆ ทุกอย่างที่นักพัฒนาซอฟต์แวร์แต่ละคนมีและต้องการทดลองใช้ก่อนที่จะถึงวิธีแก้ปัญหา
นอกจากนี้ฉันไม่คิดว่ามันเป็นความคิดที่ดีที่จะใช้เซิร์ฟเวอร์ SVN (หรือระบบควบคุมเวอร์ชันใด ๆ ) เป็นแหล่งสำรองข้อมูลซึ่งสแน็ปช็อตปัจจุบันของรหัสได้รับมอบหมาย (โดยมีการรวบรวม): คุณสามารถใช้ USB Stick หรือไดรฟ์ USB ภายนอกหรือดิสก์เครือข่ายเพื่อทำมิเรอร์รหัสปัจจุบันของคุณเพื่อไม่ให้สูญหายหากคอมพิวเตอร์ของคุณหยุดทำงาน การควบคุมการแก้ไขและการสำรองข้อมูลเป็นสองสิ่งที่แตกต่างกัน การเผยแพร่การแก้ไขนั้นไม่เหมือนกับการบันทึกสแน็ปช็อต
ของรหัสของคุณ
ในที่สุดฉันคิดว่ามันไม่น่าจะมีปัญหาอะไรที่จะต้องยอมรับทุก ๆ ตอนแล้ว (เช่นเมื่อมีใครพอใจกับสถานะปัจจุบันของรหัส) และการหลีกเลี่ยงความขัดแย้งที่เกิดจากการรวมกันนั้นก็ไม่ใช่เหตุผลที่ดีสำหรับการกระทำ ข้อขัดแย้งในการผสานจำนวนมากเกิดขึ้นเมื่อคนต่างทำงานกับไฟล์เดียวกันในเวลาเดียวกันซึ่งเป็นการปฏิบัติที่ไม่ดี (ดูเช่นบทความนี้ข้อ 7) ความขัดแย้งในการผสานควรลดลงโดยแยกโครงการออกเป็นโมดูลที่มีอินเตอร์เฟสที่ชัดเจนและการพึ่งพาน้อยที่สุดเท่าที่จะทำได้และโดยการประสานงานของนักพัฒนาเพื่อให้โค้ดที่พวกเขาทำงานทับซ้อนกันน้อยที่สุดเท่าที่จะทำได้
แค่ 2 เซ็นต์ของฉัน
แก้ไข
อีกเหตุผลหนึ่งที่ทำให้ฉันคิดว่าฉันไม่สามารถทำการทดสอบ buggy ได้ (มาก) หากคุณยืนยันในลำตัวและทีมทดสอบของคุณกำลังทดสอบทุกวันพวกเขาอาจไม่มีเวอร์ชั่นที่สามารถทดสอบได้ในสองสามชั่วโมง (หรือต่อวัน) แม้ว่าคุณจะไม่พยายามแก้ไขข้อผิดพลาดและเพียงแค่คืนค่าการเปลี่ยนแปลงของคุณการสร้างใหม่อาจใช้เวลาสองสามชั่วโมง ด้วยการพูดว่าผู้ทดสอบห้าคนทำงานในทีมของคุณคุณเสียเวลา 5 x 2 = 10 ชั่วโมงของทีมเนื่องจากการไม่ทำงาน มันเกิดขึ้นกับผมอีกครั้งเพื่อให้ผมพยายามที่จะหลีกเลี่ยงการกระทำก่อนวัยอันควรในชื่อของการกระทำโดยเร็วที่สุดเท่าที่เป็นไปได้