मेरे काम में हमारे पास एक बहुत ही सरल नियम है: बदलाव को कम से कम एक अन्य डेवलपर द्वारा मर्ज या ट्रंक के लिए प्रतिबद्ध होने से पहले समीक्षा की जानी चाहिए । हमारे मामले में इसका मतलब है कि दूसरा व्यक्ति आपके कंप्यूटर पर आपके साथ शारीरिक रूप से बैठता है और परिवर्तन सूची से गुजरता है। यह एक आदर्श प्रणाली नहीं है, लेकिन फिर भी यह कोड गुणवत्ता में उल्लेखनीय सुधार हुआ है।
यदि आप जानते हैं कि आपके कोड की समीक्षा होने जा रही है जो आपको इसे पहले देखने के लिए मजबूर करता है। कई समस्याएं तब स्पष्ट हो जाती हैं। हमारी प्रणाली के तहत, आपको यह समझाना होगा कि आपने समीक्षक के साथ क्या किया है, जो आपको फिर से उन समस्याओं को नोटिस करने का कारण बनता है जो आप पहले याद कर सकते हैं। इसके अलावा, यदि आपके कोड में कुछ भी समीक्षक को तुरंत स्पष्ट नहीं है, तो यह एक अच्छा संकेत है कि एक बेहतर नाम, एक टिप्पणी या एक रिफैक्टिंग की आवश्यकता है। और, ज़ाहिर है, समीक्षक को समस्याएं भी मिल सकती हैं। इसके अलावा, परिवर्तन को देखने के अलावा, समीक्षक पास के कोड में समस्याओं को भी देख सकता है।
इस प्रणाली में दो मुख्य कमियां हैं। जब परिवर्तन तुच्छ है, तो इसकी समीक्षा करने के लिए बहुत कम समझ में आता है। हालाँकि, हम पूरी तरह से नियमों से चिपके रहते हैं, जब वे नहीं हैं तो परिवर्तन को "तुच्छ" घोषित करने की फिसलन से बचने के लिए। दूसरी ओर, यह प्रणाली या बड़े नए घटकों को जोड़ने के लिए महत्वपूर्ण परिवर्तनों की समीक्षा करने का एक बहुत अच्छा तरीका नहीं है।
हमने पहले और अधिक औपचारिक समीक्षाओं की कोशिश की है, जब एक डेवलपर कोड को बाकी टीम की समीक्षा करने के लिए ईमेल करेगा, और फिर पूरी टीम एक साथ मिल जाएगी और इस पर चर्चा करेगी। इसने सभी का बहुत समय लिया, और परिणामस्वरूप ये समीक्षा कुछ और दूर थी, और कोड आधार के केवल एक छोटे प्रतिशत की समीक्षा की गई। "एक अन्य व्यक्ति प्रतिबद्ध होने से पहले परिवर्तन की समीक्षा करता है" हमारे लिए बहुत बेहतर काम किया है।