เมื่อใดที่ต้องทำการตรวจสอบโค้ด


15

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

เราใช้ VS และ TFS 2010 และเราเป็นทีมที่ 6

ขณะนี้เราแยกสาขาสำหรับคุณสมบัติ แต่กำลังทำงานเพื่อเปลี่ยนเป็นสาขาสำหรับการต่อสู้

ขณะนี้เราไม่ได้ใช้ชั้นวางและไม่ต้องการนำไปใช้จริงหากมีเทคนิคอื่น ๆ

คุณจะแนะนำให้เราใช้การตรวจสอบโค้ดต่อเรื่องราวของผู้ใช้อย่างไร

คำตอบ:


3

มันขึ้นอยู่กับลักษณะของเรื่องราวของผู้ใช้

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

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

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

ในตอนท้ายของการวิ่งคุณจะรวมสาขา dev ของคุณเข้ากับการรวม / การผลิต ฯลฯ

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


13

วิธีที่มีประสิทธิภาพมากที่สุดในการตรวจสอบโค้ดคือการยืนค้นหาใครบางคนและขอให้พวกเขาเข้ามาและหารือเกี่ยวกับรหัสที่คุณเพิ่งพัฒนา

อย่าใช้เครื่องมือเว้นแต่คุณจะไม่สามารถหาใครสักคนเพื่อตรวจสอบรหัสของคุณได้

คุณสามารถหลีกเลี่ยงการตรวจสอบโค้ดโดยการจับคู่


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

ฉันอ่านสิ่งนี้ว่า "ลุกขึ้นยืนยิงใครสักคนแล้วขอให้พวกเขาเข้ามาและพูดคุยเกี่ยวกับรหัสที่คุณเพิ่งพัฒนา" ขอบคุณที่ทำให้วันของฉัน
Will Morgan

4

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

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


1

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

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

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

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


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

ใช่การแย่งชิงกันไม่ได้ระบุว่าจะทำตารางเวลาแบบเต็มซึ่งเป็นส่วนหนึ่งของมัน ถึงกระนั้นฉันหมายถึง "การวางแผน" เมื่อฉันอ้างถึงกำหนดเวลาการวางแผนหมายถึงว่าลูกค้าของคุณคาดหวังคุณค่าบางอย่างในเวลาที่กำหนดเพื่อให้พวกเขาสามารถแลกเปลี่ยนระหว่างมูลค่าเงิน v / s (ถ้าคุณพิจารณาว่าคุณให้บริการพัฒนา / เขียนโปรแกรม )
Ron-Damon

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

สัญญากันทีมการต่อสู้ส่งมอบคุณค่าไม่ใช่บริการ เราพัฒนา / โปรแกรมเพื่อส่งมอบคุณค่านั้น
Ryan Cromwell

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

0

ไม่ชัดเจนที่จะทำการตรวจสอบโค้ดก่อนที่จะตรวจสอบในรหัสของคุณ?

TFS ไม่ทำงานเหมือน GIT ดังนั้นเมื่อใดก็ตามที่คุณตรวจสอบรหัสในสาขาหรือลำตัวมันจะมีให้สำหรับทุกคน

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


ฉันคิดว่าโดยทั่วไปการทดสอบหน่วยเป็นสิ่งที่จะป้องกันการเปลี่ยนแปลงที่ไม่ดี
John Saunders

@John Saunders: พิจารณาการตรวจสอบโค้ดเป็นการทดสอบหน่วยอื่น
Gilbert Le Blanc

@Gilbert: ฉันสามารถทำได้ แต่แล้วฉันจะไม่ได้รับประโยชน์จากการทดสอบการถดถอย ฉันต้องการใช้เวลาในการเขียนการทดสอบหน่วยมากขึ้นและดีขึ้น
John Saunders

@John Saunders, @Gilbert Le Blanc บทวิจารณ์โค้ดดำเนินการโดยผู้พัฒนารายอื่นโดยทั่วไปแล้วการทดสอบหน่วยจะทำโดยนักพัฒนาดั้งเดิมมุมมองใหม่อาจมีความสำคัญ

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