การเขียนโปรแกรมจับคู่ทำงานเมื่อใด ควรหลีกเลี่ยงเมื่อไหร่?


50

แทนที่จะใช้คู่โปรแกรมอย่างโหดเหี้ยมตลอดเวลาเราใช้การเขียนโปรแกรมคู่ในทีมของเรา ฉันคิดว่ามันทำงานได้ดีที่สุดในสถานการณ์ต่อไปนี้:

  • เพิ่มสมาชิกทีมใหม่ในโครงการ (แทนที่จะปล่อยให้พวกเขาลุยผ่านเอกสารหรือรหัสด้วยตนเอง)
  • การมีผู้อยู่ใต้บังคับบัญชาและผู้อาวุโสทำงานร่วมกัน (ช่วยแสดงทักษะและกลอุบายของนักพัฒนาที่มีประสบการณ์มากขึ้นรวมถึงช่วยให้สุนัขแก่เรียนรู้เทคนิคใหม่ ๆ ในบางครั้ง)
  • เมื่อมีคนพยายามที่จะติดตามข้อบกพร่องมันมักจะช่วยให้จับคู่กับชุดของดวงตาที่สดใหม่

ควรใช้โปรแกรมคู่เมื่อใดและเพราะเหตุใด

ควรหลีกเลี่ยงการเขียนโปรแกรมคู่เมื่อใด ทำไม?


11
พยายามเข้าใจคุณค่าและตรรกะของการปิดคำถามนี้เมื่อสามปีหลังจากตอบชัดเจนโดยอ้างอิงจากการวิจัยเชิงประจักษ์ จากการปฏิบัติทั้งหมดที่ใช้ร่วมกันกับ Agile นี่เป็นหนึ่งในการวิจัยและจัดทำเอกสารมากที่สุด จำเป็นต้องเปลี่ยนถ้อยคำของคำถามในบางวิธีหรือไม่? ความคาดหวัง / มาตรฐานเปลี่ยนไปในช่วงสามปีที่ผ่านมานับตั้งแต่มีการเผยแพร่หรือไม่?
ไมเคิล

คำตอบ:


44

งานวิจัยที่รวบรวมโดย Laurie Williamsระบุว่าการเขียนโปรแกรมคู่ทำงานได้ดีที่สุดในทีมอุตสาหกรรมเมื่อใด

  • คู่ทำงานกับข้อมูลจำเพาะการออกแบบและงานการเขียนโปรแกรมที่ซับซ้อน - การทดลองระบุว่าไม่มีการปรับปรุงคุณภาพเมื่อทำงานกับงานง่าย ๆ ในคู่ แต่อาจมีการปรับปรุงความเร็ว นอกจากนี้โปรดทราบว่าคู่ "การเขียนโปรแกรม" มักจะมีกิจกรรมอื่นนอกเหนือจากการเขียนรหัส
  • แต่ละคนในการจับคู่มีความเชี่ยวชาญในระดับเดียวกัน - ในขณะที่การเขียนโปรแกรมคู่เหมาะสำหรับการฝึกอบรมคู่มีส่วนร่วมมากที่สุดเมื่อพวกเขาอยู่ในระดับเดียวกัน
  • บทบาทการหมุนอย่างสม่ำเสมอ - การหมุนอย่างสม่ำเสมอจะช่วยให้นักบินร่วมทำงานอยู่ในขณะที่บุคคลมักจะมีส่วนร่วมมากที่สุดเมื่อพวกเขาขับรถหรือรู้สึกว่าพวกเขากำลังจะขับรถ
  • คู่หมุนอย่างสม่ำเสมอ - ทีมได้แสดงความสะดวกสบายในการรู้เกี่ยวกับส่วนต่าง ๆ ของระบบที่พวกเขากำลังสร้าง การหมุนคู่ช่วยในการถ่ายโอนความรู้ซึ่งช่วยลดความเสี่ยงในโครงการ ในการตั้งค่าทางวิชาการคู่มักจะได้รับมอบหมาย แต่อุตสาหกรรมพวกเขามักจะได้รับมอบหมายด้วยตนเองบ่อยครั้งในช่วงสแตนด์อัพ ในทั้งสองกรณีคู่มีประสิทธิภาพมากที่สุดเมื่อบุคคลทั้งสองเป็นผู้เข้าร่วมที่เต็มใจที่เห็นคุณค่าในกิจกรรมการจับคู่

จากประสบการณ์ส่วนตัวของฉันฉันพบว่าทีม XP ของฉันใช้เวลาประมาณ 60% ของการเขียนโปรแกรมคู่การพัฒนาโดยเฉลี่ย เวลาที่เหลือจะใช้ในการพัฒนาบุคคล ไม่ใช่เรื่องแปลกที่จะจับคู่เพื่อสร้างการออกแบบเริ่มต้นทำงานคนเดียวในการออกแบบเพียงไม่กี่ชั่วโมงจากนั้นกลับมารวมกันเพื่อทำให้ส่วนที่ยุ่งยากหรือยากของรหัส

ฉันยังพบว่าการเขียนโปรแกรมคู่มีประสิทธิภาพมากที่สุดในบล็อกประมาณ 1.5 ถึง 2.5 ชั่วโมง อะไรก็ตามที่มีค่าน้อยกว่านั้นมักจะต้องการค่าใช้จ่ายในการเซ็ตอัพที่มากเกินไปในขณะที่มีมากขึ้นและคู่ก็มีแนวโน้มที่จะบ้าบิ่นและเหนื่อยล้า บ้าๆบอ ๆ และเหนื่อยหมายความว่าคุณไม่สามารถสื่อสารได้ดีและอาจทำให้เกิดข้อบกพร่องเข้ามาในระบบ


คำตอบที่ดี Michael การยอมรับคำตอบที่ดีนี้ออกมามากมายเนื่องจากมันมีการผสมผสานที่ลงตัวของประสบการณ์ส่วนตัวและการเชื่อมโยงที่ดีกับการวิจัย
Paddyslacker

ถึงแม้ว่าแดกดันในขณะที่ลิงค์ทำงานเมื่อคุณเผยแพร่คำตอบของคุณตอนนี้มันเป็น 404, doh!
Paddyslacker

ฉันแก้ไขไฮเปอร์ลิงก์ในคำตอบของคุณ Michael ดังนั้นทุกอย่างก็ดีอีกครั้ง
Paddyslacker

ส่วน "ซับซ้อน" มีความสำคัญมาก หากคุณพิมพ์งานเล็กน้อยเพื่อนของคุณจะเบื่ออย่างรวดเร็ว
Dave O.

2
@DaveO: ฉันสามารถทำสิ่งต่าง ๆ ได้ง่าย ๆ โดยใช้การเขียนโปรแกรมแบบคู่ สำหรับงานที่ซับซ้อนฉันต้องคิดและการเขียนโปรแกรมคู่เป็นเพียงแหล่งที่มาของความว้าวุ่นใจ (ดูคำตอบของ Will Sargent) ฉันยังพบว่ามีประโยชน์มากในการพูดคุยปัญหาที่ซับซ้อนกับเพื่อนร่วมงาน แต่สิ่งนี้แตกต่างจากการเขียนรหัสทั้งหมดเข้าด้วยกัน
Giorgio

28

การเขียนโปรแกรมจับคู่ได้ผลสำหรับฉันในสถานการณ์ที่น้อยมาก

การเขียนโปรแกรม Pair ล้มเหลวสำหรับฉัน

เรื่องสั้นคือการเขียนโปรแกรมคู่ไม่ได้ผลสำหรับฉันในฐานะวิธีหลักในการพัฒนาซอฟต์แวร์ ฉันสามารถจับคู่โปรแกรมเป็นเวลาหนึ่งวันหรืออาจเป็นสัปดาห์โดยเฉพาะอย่างยิ่งถ้าเรามุ่งเน้นไปที่ปัญหาที่เฉพาะเจาะจง แต่หลังจากนั้น ฉันเสร็จแล้ว ขนมปังปิ้ง ฉันไม่ต้องการเห็นใครพูดคุยกับใครและฉันต้องการอย่างน้อยสองสามวันในถ้ำจนกว่าฉันจะเหมาะสำหรับ บริษัท มนุษย์อีกครั้ง

มันเป็นเรื่องเศร้า แต่สิ่งที่ตลกคือตอนนี้ฉันมีความสุขมากขึ้นเมื่อมันจบลง ฉันทำงานอย่างมีความสุขในสัญญาที่ฉันทำงานจากที่บ้านหรือจากร้านกาแฟและฉันได้รู้จักเพื่อนใหม่และสำรวจซานฟรานซิสโกมากกว่าที่ฉันคิดว่าเป็นไปได้ ฉันมีจักรยานและแล็ปท็อปและตราบใดที่ฉันตรงตามกำหนดเวลาและตรวจสอบรหัสเป็นประจำเวลาของฉันก็เป็นของตัวเอง

ฉันจะแสดงรายการปัญหาใหญ่ที่ฉันมีกับการเขียนโปรแกรมคู่ขึ้นด้านหน้าและให้รายละเอียดและเกร็ดเล็กเกร็ดน้อยในภายหลัง

  1. แยกโฟกัส
  2. ไม่มีการทดลอง
  3. ไม่มีโน้ตสูง
  4. ไม่มีความภาคภูมิใจในความเป็นเจ้าของ
  5. ไม่หนี ...

... ฉันถามเพื่อนร่วมงานของฉันว่าพวกเขาเห็นสิ่งที่ฉันเห็นหรือไม่ถ้าฉันทำอะไรหายไปอะไร - ฉันไม่เห็นว่ามันจะทำงานได้ดีแค่ไหน พวกเขาบอกว่าฉันสบายดีที่ต้องใช้เวลาในการปรับตัวและปรับตัว มันยากสำหรับทุกคนในตอนแรก

ในที่สุดฉันก็ถอยกลับเข้าไปในตัวเอง ระหว่างอาการปวดหัวที่ทำให้ไม่เห็น, การนอนไม่หลับ, และการห้ำหั่น, unmet จำเป็นต้องเขียนโค้ดฉันหยุดการตอบสนองต่ออินพุต ฉันจ้องที่หน้าจอและไม่เห็นอะไรเลย บางคนสามารถพูดกับฉันได้โดยไม่คาดหมายและฉันจะไม่ได้ยิน ฉันทำตามข้อกำหนดในการท่องจำของงาน แต่ฉันไม่ได้อยู่ที่นั่น ฉันจะหมดทุกอย่างที่ฉันเพิ่งปรากฏมาในวันนี้ ฉันเริ่มตรวจสอบ iPhone ของฉันเมื่อพันธมิตรอื่นกำลังพิมพ์

ในที่สุด - เพียงแค่ขี้อายสามเดือนต่อมาและเป็นครั้งแรกที่เคย - ฉันถูกไล่ออกเพราะไม่เหมาะกับทีมเมื่อเขียนโปรแกรมจับคู่

ไม่ได้อยู่คนเดียว

ฉันเขียนมันไม่เพียง แต่จะเข้าใจ แต่ยังสามารถพูดคุยเกี่ยวกับมัน มีข้อสันนิษฐานว่าการเขียนโปรแกรมจับคู่ใช้งานได้สำหรับคนส่วนใหญ่และง่ายกว่าและเร็วกว่าการเขียนโปรแกรมเดี่ยว นี่อาจจะใช่หรือไม่ใช่ในกรณีนี้ แต่สำหรับการฝึกฝนระยะยาวการเขียนโปรแกรมคู่ไม่ได้ผลสำหรับฉัน มีคนอื่นอีกหลายคนที่การเขียนโปรแกรมจับคู่ไม่ได้ผล เราก็มีความสำคัญเช่นกัน ...


2
ฉันด้วย. ค่อนข้างมากในการติดตามข้อบกพร่องและยิ่งกว่านั้นการระดมสมองและปรัชญามากกว่าการเขียนโปรแกรมจริง
hplbsh

3
+1 คำตอบที่เฉียบแหลม ดูเหมือนว่าบางครั้งผู้สนับสนุนการเขียนโปรแกรมคู่ลืมเกี่ยวกับเราและคนเก็บตัว และโดยบังเอิญผู้คนจำนวนมากที่สนใจในการเขียนโปรแกรมก็เป็นคนเก็บตัว ...
Andres F.

5
@AndresF: นอกจากคนโดดเดี่ยวและคนเก็บตัวยังมีคนที่เป็นอิสระและต้องการพื้นที่ของพวกเขาเพื่อจัดระเบียบความคิดของพวกเขา สำหรับการกระจายความรู้ในหมู่สมาชิกในทีมการตรวจสอบโค้ดอย่างน้อยมีประสิทธิภาพเท่ากับการเขียนโปรแกรมคู่
Giorgio

1
@Giorgio เห็นด้วย ฉันสนับสนุนการเขียนโปรแกรม Pair บางส่วน : การแก้ปัญหาบางอย่างเป็นคู่ แต่ผู้สนับสนุนบางคนคิดว่าควรใช้เวลาส่วนใหญ่กับงานเขียนโปรแกรมส่วนใหญ่ซึ่งฉันไม่เห็นด้วย
Andres F.

3
@AndresF: ฉันเห็นด้วยกับคุณ "การเขียนโปรแกรมคู่บางส่วน" หรือการใช้คำศัพท์ที่ทันสมัยน้อยกว่า "การพูดคุยปัญหาที่ยากลำบากร่วมกันเมื่อจำเป็น" เป็นวิธีการที่สมเหตุสมผลมากไม่เพียงใช้สำหรับการเขียนโปรแกรมเท่านั้น แต่ยังใช้เมื่อเรียนที่โรงเรียน ฯลฯ ด้วย กระสุนเงินที่ควรใช้ตลอดเวลา
Giorgio

10

ทีมของฉันทำการเขียนโปรแกรมแบบจับคู่ตั้งแต่เริ่มก่อตั้งมานานก่อนที่ฉันจะทำงานที่นั่นซึ่งเป็นส่วนหนึ่งของ การเขียนโปรแกรมคู่เป็นรัฐเริ่มต้น ; ผู้คนจะไปเพียงคนเดียวจริง ๆ ถ้ามีจำนวนคี่หรือเป็นครั้งคราวสำหรับการตรวจสอบโดยเฉพาะอย่างยิ่งผู้ที่จะเกี่ยวข้องกับอุปกรณ์ที่เป็นมิตรและพยายามที่จะทำงาน

"ผู้อาวุโส / ผู้อาวุโส" ไม่ใช่วิธีเดียวที่จะไป "Intermediate / junior" นั้นมีประโยชน์ ช่วยคนระดับกลางสังเคราะห์ความรู้ที่เขาได้รับโดยบังคับให้เขาสื่อสารกับคนอื่น "ระดับกลาง / ระดับกลาง" ท้าให้ทั้งสองคนทำงานร่วมกันเพื่อแบ่งปันความรู้สื่อสารและทำงานเป็นส่วนหนึ่งของทีม และแม้ว่าคุณจะมีผู้อาวุโสสองคนโอกาสที่พวกเขาจะมีความเชี่ยวชาญที่แตกต่างกันและสามารถหาวิธีที่แตกต่างกันได้ ด้านการแบ่งปันความรู้ไม่สิ้นสุดเมื่อใครบางคน "ถึงความเร็ว" ในโครงการอย่างคลุมเครือ แต่การเขียนโปรแกรมคู่เป็นบุคคลตัวอย่างของการเป็นองค์กรการเรียนรู้ เทคนิคใหม่และแนวปฏิบัติที่ดีที่สุดแพร่กระจายอย่างรวดเร็ว

การเขียนโปรแกรมคู่ยังช่วยรักษาคุณภาพของรหัส (ข้อบกพร่องน้อยลง) และสติของรหัส (มันไม่เพียง แต่ทำในสิ่งที่ตั้งใจ แต่ทำในสิ่งที่ควร ... โดยไม่ต้องลงกระต่ายหลายสัปดาห์ - หลุมทำสิ่งที่ผิดหรือสองสิ่งที่แตกต่างที่จะขัดแย้งกันอย่างดุเดือด) มันช่วยให้โปรแกรมเมอร์รักษาจุดสนใจของพวกเขา: ที่นี่ในใจกลางของ Silicon Valley ซึ่งเป็นที่ทำงาน 80 ชั่วโมงต่อสัปดาห์เราสามารถทำงานได้เพียง 40 ชั่วโมงต่อสัปดาห์เพราะเราทำการเข้ารหัสที่เข้มข้นเป็นเวลาแปดชั่วโมงต่อวัน ออกไปพร้อมกัน (นอกจากนี้หากคุณใช้การเขียนโปรแกรมคู่อีกต่อไปคุณอาจจะพลิกหรืออย่างน้อยก็เหนื่อยหน่าย) นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับความสมดุลระหว่างการทำงาน / ชีวิตและยังช่วยองค์กรของคุณเมื่อมีความสำคัญที่จะต้องมีการเปลี่ยนแปลงอย่างรวดเร็ว (โดยเฉพาะอย่างยิ่งการตอบสนองที่ล่าช้าน้อยโดยเฉพาะ)

มันไม่ใช่ทั้งหมดพีช 100% และครีม; ฉันพบว่าการเขียนโปรแกรมคู่เป็นบางครั้งเป็นอุปสรรคต่อการประยุกต์ใช้กระบวนการทางสมองที่ใช้งานง่ายซึ่งมีประโยชน์กับปัญหาบางอย่าง เมื่อเร็ว ๆ นี้ฉันได้ใช้เวลากับทั้งคู่และไม่มีคู่ ฉันไม่มีอิสระที่จะยุ่งเกี่ยวและลองการทดลองโดยที่ไม่รู้ว่าจะอธิบายสิ่งที่ฉันทำในช่วงเวลาใด นอกจากนี้ยังมีข้อดีบางประการในการทำงานแบบซิงเกิลสามารถไปสัมผัสแทนกันและทำ refactorings ป่า (มูลค่าในระเบียบวิธี XP) ในราชประสงค์

แต่ทุกคนบอกว่าประโยชน์ที่ได้นั้นเกินดุลค่าใช้จ่ายและการจับคู่นั้นได้ผลดีอย่างน่าทึ่งสำหรับเราตั้งแต่ขั้นเริ่มต้นจนถึงการเข้าซื้อกิจการโดย บริษัท ขนาดใหญ่ (การพูดที่การเขียนโปรแกรมจับคู่ช่วยให้เรารักษาความต่อเนื่องของวัฒนธรรมผ่านการขยายและแม้จะมีการหมุนเวียนเล็กน้อย)

(เราพัฒนาอุปกรณ์ซอฟต์แวร์ใน Perl ราคาปลีกประมาณ $ 4,000 - $ 40,000)


4

ฉันไม่เคยทำงานในการตั้งค่า "การเขียนโปรแกรมจับคู่" แต่ฉันสามารถอ้างได้ว่าเป็นส่วนหนึ่งของสามสถานการณ์ที่คุณได้ระบุไว้ สถานการณ์ที่คุณพูดถึงดูเหมือนว่า "การเขียนโปรแกรมปกติ" มากกว่าโดยมีขั้นตอนการช่วยเหลือ / การฝึกอบรมเกิดขึ้นเราไม่ได้ทำสิ่งเหล่านี้ทั้งหมดก่อน "การเขียนโปรแกรมคู่" หรือไม่? การเขียนโปรแกรมจับคู่ฉันคิดว่าจะต้องมีวิธีการที่มุ่งมั่นมากขึ้นซึ่งกระบวนการแบ่งปันภายในทีมไม่ได้หยุดนาทีที่คุณจัดการงานหรือปัญหาที่เกิดขึ้นทันที แต่นี่คือสิ่งที่ฉัน "คิด" ไม่ใช่สิ่งที่ฉัน "รู้"

ส่วนตัวสำหรับการเขียนโปรแกรมคู่ฉันต้องการทำงานในทีมที่ฉันมีโอกาสได้เรียนรู้และแบ่งปันความรู้ของฉัน ทีมที่ไม่สมดุลซึ่งทุกคนที่คุณทำงานอยู่นั้นมีไมล์อยู่ข้างหน้าคุณหรือจากนั้นวิธีที่ต่ำกว่ามาตรฐานสามารถทำให้ไม่น่าสนใจได้อย่างรวดเร็ว นอกจากนี้ฉันกลัวที่จะทำงานกับคนที่มีความเชื่อและยากที่จะโน้มน้าวใจ


คุณถูกต้องเราสามารถแก้ไขสถานการณ์ที่ฉันกล่าวถึงโดยไม่มีการเขียนโปรแกรมคู่ แต่เราใช้เทคนิคการเขียนโปรแกรมคู่ของคนคนหนึ่งขับรถสังเกตอีกคนหนึ่งและปิดพวกเขาในช่วงเวลาปกติ นี่เป็นทางการมากกว่าการช่วยเหลือ / ฝึกอบรมเล็กน้อย ร้านค้า XP จำนวนมากทำการเขียนโปรแกรมจับคู่มากกว่านี้ - ฉันสงสัยว่าจำนวนการจับคู่ "ถูกต้อง" สำหรับคน
Paddyslacker

ใช่ฉันก็อยากจะได้ยินจากคนที่ทำงานกับ PP เป็นระยะเวลานาน ฉันเข้าใจว่าที่ปรึกษาที่ทำงานกับ บริษัท หรือทีมหลายแห่งได้ประโยชน์อย่างไรจาก PP แต่โดยทั่วไปแล้วงานที่ได้รับมอบหมายเหล่านี้จะใช้เวลาสองถึงสามเดือน เป็นที่น่าสนใจที่จะรู้ว่า PP ทำงานอย่างไรใน บริษัท ซอฟต์แวร์ทั่วไปที่โครงการต่างๆใช้งานได้นานกว่าหนึ่งปี
ไว้

2

เราได้ทดลองใช้การเขียนโปรแกรมคู่ในทีมของเราในช่วงสองสามเดือนที่ผ่านมา ฉันรู้สึกว่ามันมีประโยชน์เมื่อคุณกำลังทำงานกับสิ่งใหม่ ๆ (เทคโนโลยีใหม่คุณสมบัติใหม่ ฯลฯ ) เนื่องจากคุณสามารถตีกลับความคิดกับบุคคลในทีมได้อย่างรวดเร็ว นอกจากนี้การตรวจสอบโดยเทียบเคียงกันช่วยในการกำจัดข้อบกพร่อง

เพื่อนร่วมทีมอีกคนพยายามใช้การเขียนโปรแกรมคู่กับการทดสอบเพื่อทำ ATDD และพวกเขามีความสุขมากกับผลลัพธ์ (จากการคำนวณของเขาการเพิ่มขึ้นของค่าใช้จ่าย dev 20% นำไปสู่การลดลงประมาณ 50% ในเวลาทดสอบ)


1

ราตรีสวัสดิ์

หลายครั้งที่เราได้ถกเถียงกันเกี่ยวกับการปฏิบัติของการเขียนโปรแกรมมากและการเขียนโปรแกรมคู่ ย้อนเวลากลับไปเราสามารถเข้าใจได้ว่าการเขียนโปรแกรมเป็นกิจกรรมเดี่ยวเพราะโปรแกรมเมอร์ต้องการความเข้มข้นและความโดดเดี่ยว โปรแกรมเมอร์ในเวลานั้นอยู่ในโซนซึ่งเป็นสภาวะทางจิตใจที่พวกเขาสามารถมุ่งเน้นไปที่รหัสได้อย่างมีประสิทธิภาพและทำการตัดสินใจที่ดีและสร้างสรรค์

การเขียนโปรแกรมจับคู่ดูเหมือนจะมีความเสี่ยงเช่นกันหากคุณสมมติว่าโปรแกรมเมอร์หนึ่งขัดจังหวะซึ่งกันและกัน ในทางตรงกันข้ามมันยากกว่าที่จะขัดจังหวะโปรแกรมเมอร์สองคนที่ทำงานร่วมกัน ยกตัวอย่างเช่นการเขียนโปรแกรมเดี่ยวมันจะถูกขัดจังหวะได้ง่ายขึ้นดังนั้นจึงเป็นไปไม่ได้เลยที่โปรแกรมเมอร์เดี่ยวจะไม่อยู่ใน "โซน"

คุณภาพของรหัสนั้นเป็นอีกเรื่องหนึ่งเมื่อเส้นตายอยู่ใกล้แค่เอื้อม ผู้คนจะรีบเป็นโปรแกรมเมอร์คู่หรือโปรแกรมเมอร์เดี่ยว: พวกเขาจะไม่ใช้แนวปฏิบัติที่ดีที่สุดและจะลืมเกี่ยวกับการทดสอบหน่วย

ฉันจะติดกับการเขียนโปรแกรมคู่ เพราะเมื่อมันตกอยู่ในความเสี่ยงเมื่อโปรแกรมเมอร์คนหนึ่งหายไปคุณจะมีคนอื่นคอยบันทึกกระบวนการและสอนให้คนอื่นรู้ว่ามันทำงานอย่างไร


1

การทำงานกับสิ่งที่ไม่มีความซับซ้อนมีแนวโน้มที่จะเป็นผู้สมัครที่ดีสำหรับการเขียนโปรแกรมคู่เพื่อให้หลาย ๆ คนเข้าใจโค้ดมากกว่านักพัฒนาเพียงคนเดียวที่รู้ว่าส่วนหนึ่งของฐานรหัสนั้นเป็นอย่างไร อีกกรณีหนึ่งคือที่ที่ใครบางคนต้องการที่จะถ่ายโอนทักษะบางอย่าง ตัวอย่างที่นี่อาจมีคนที่เก่งในการทดสอบหน่วยจับคู่กับคนที่ไม่ค่อยคุ้นเคยกับแนวคิดและช่วยให้เริ่มนิสัยในบางสิ่งบางอย่าง

สำหรับสถานที่ที่จะหลีกเลี่ยงการเขียนโปรแกรมคู่งานที่ไม่น่าไว้วางใจซึ่งตรงไปตรงมาจะเป็นการดีกว่าที่จะแบ่งงานออกเป็นสองกลุ่มและให้นักพัฒนาแต่ละคนแยกงานเพื่อแยกงานออกจากกัน งานบางอย่างอาจต้องการการพิมพ์ที่ค่อนข้างดี แต่ไม่ใหญ่จนคุ้มค่าที่จะใช้เวลาสักสองสามชั่วโมงในการพยายามหาวิธีที่ดีกว่าในการทำมันหากทำได้นักพัฒนาแต่ละรายจะใช้วิธีการที่ดุร้าย ชั่วโมง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.