क्या मुझे इस बात पर जोर देना चाहिए कि ट्रंक में वापस विलय से पहले हम कोड समीक्षा करते हैं?


10

StackOverflow से आवश्यक पुन: पोस्ट:

मैं विकास के लिए बहुत सीमित समय के साथ छोटे विकास के समय में काम कर रहा हूं। हम एक उपकरण विकसित करते हैं जो हमारे काम के परिणाम के लिए महत्वपूर्ण है, लेकिन दैनिक उपयोग नहीं किया जाता है। मैं टीम का एकमात्र व्यक्ति हूं जिसकी प्रोग्रामर के रूप में पृष्ठभूमि है।

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

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

क्या मुझे इस बात पर जोर देना चाहिए कि ट्रंक में वापस विलय से पहले हम कोड समीक्षा करते हैं या क्या मैं सिर्फ एक कोड गुणवत्ता कुतिया हूं?


3
"जैसा कि हमारे पास विकसित करने के लिए ऐसा सीमित समय है, हमें उसी तरह कोनों को काटना चाहिए।" -> "आप मुझे अभी भुगतान कर सकते हैं, या आप मुझे बाद में भुगतान कर सकते हैं।" मैं ढाई साल से कोड समीक्षाओं और यूनिट परीक्षणों के लिए कुतिया रहा हूं और हमेशा एक ही जवाब मिला। बेशक अब हमारे पास कोड की कई हज़ार लाइनें हैं, सभी "कॉर्नर-कटिंग" हमें परेशान करने के लिए वापस आ रहे हैं।
मेटलमेस्टर

स्थिति में सुधार होगा क्योंकि आदमी अधिक अनुभवी हो जाएगा।
रवांग

जवाबों:


2

मैं पहले भी इसी तरह की स्थितियों में रहा हूँ और यह इस बात पर निर्भर करता है कि "क्या मुझे कोड बनाए रखना है"।

अगर मुझे उच्च गुणवत्ता कोड चाहिए, तो मुझे कोड को बनाए रखना होगा, मुझे व्यक्तिगत रूप से हर समीक्षा के लिए कोड समीक्षा की आवश्यकता नहीं है (यानी प्रोग्रामर खुद के लिए तय कर सकते हैं कि क्या कुछ कोड की समीक्षा की आवश्यकता है या नहीं) लेकिन अगर पठनीयता / रखरखाव से ग्रस्त है यह क्रम में हो सकता है।

इसे पढ़ते समय:

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

मुझे लगता है कि आपकी समस्या सिर्फ कोड समीक्षाओं से बड़ी है। आपको कुछ दिशानिर्देश याद आ रहे हैं और / या वे कार्यान्वित नहीं किए गए हैं। कोई / कुछ इकाई परीक्षण खराब विचार हो सकता है लेकिन विशिष्ट मामले पर निर्भर करता है। हालांकि, breaking encapsulation, writing huge classes, ...वास्तव में बग-प्रोन कोड बनाते हैं ताकि निश्चित रूप से तय किया जाए।


6

मुझे लगता है कि कोड की समीक्षा और कुछ कोडिंग दिशानिर्देशों को बनाए रखना एक अच्छा विचार है, लेकिन मुझे लगता है कि प्रत्येक चेक में यह करना समय की बर्बादी है। टीम की स्थापना करते समय और युवा प्रोग्रामर के साथ यह एक अच्छा विचार है, लेकिन अनुभवी प्रोग्रामर खुद के लिए सोच सकते हैं और अंततः आपको उन पर भरोसा करना होगा। उस ने कहा - आप समय-समय पर कोड की समीक्षाओं को ताजा करने के लिए कर सकते हैं, लेकिन कोड की प्रत्येक और हर पंक्ति को देखना जो आपके वीसीएस में प्रवेश करता है, वास्तव में अति कर रहा है।

और आपके सहकर्मी के फिक्स के बारे में एक छोटी सी टिप्पणी - कुछ समय बदसूरत फिक्स करना सही समाधान है । यह हो सकता है कि यह विशेष कोड बहुत समय के निवेश के लिए पर्याप्त महत्वपूर्ण नहीं है, यह हो सकता है कि सरल समाधान काफी अच्छा है और अन्य चीजों में समय का निवेश करना बेहतर है। अपने कोड को "सुंदर" बनाना एक प्रोग्रामर के रूप में आपका मुख्य लक्ष्य नहीं है। आपका मुख्य लक्ष्य कोड की प्रत्येक पंक्ति को वितरित करना और उस पर ध्यान केंद्रित करना है जो आपको वहां नहीं मिलेगा।

मैं जो कहना चाह रहा हूं वह है - आपको अपनी लड़ाई चुनने की जरूरत है। डिलीवरी वार (या इस मामले के लिए यह महत्वपूर्ण सबसिस्टम युद्ध) जीतने के लिए कुछ तुच्छ उपयोगिता वर्ग पर लड़ाई हारना ठीक है।


3

यदि विचाराधीन कार्यक्रम एक-फेंक फेंकने वाला प्रोटोटाइप नहीं है, तो मुझे लगता है कि हर चेक-इन के लिए कोड समीक्षा अनिवार्य होनी चाहिए।

वरिष्ठ डेवलपर्स को गैर-समीक्षित चेक-इन का विशेषाधिकार प्राप्त हो सकता है, एक बार जब वे उपयुक्त होने पर समीक्षा का अनुरोध करने के लिए कर्तव्यनिष्ठा के लिए जाने जाते हैं।


1

जब तक कोई बेहतर कोडिंग मानकों को लागू करना शुरू नहीं करता, तब तक कोड की समीक्षा का जवाब नहीं है। कोई भद्दा कोड लिखता है, टिप्पणी करता है / इसे स्वीकार करता है और वैसे भी इसकी जाँच करता है। यदि कोई कोड को अस्वीकार करना चाहता है, तो समीक्षा करना कितना अच्छा है, लेकिन यह आपको समय से पीछे कर देगा?

आपको इसकी आवश्यकता है: मानकों को सेट करें, प्रमुख दोषियों की अधिक बारीकी से निगरानी करें, और उनके सिर में पाउंड करें कि अच्छा कोड हमेशा अधिक लिखने का अधिकार नहीं लेता है। उन्हें बुरी आदतों को बदलने से इनकार करने के लिए एक बहाने के रूप में समय का उपयोग बंद करने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.