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