क्या सॉफ़्टवेयर गुणवत्ता, रखरखाव और डेवलपर उत्पादकता पर स्रोत कोड टिप्पणी करने के प्रभावों के बारे में कोई अनुभवजन्य अध्ययन है? [बन्द है]


11

मैं सोर्स कोड पर टिप्पणी करने और सॉफ्टवेयर उत्पादों के दस्तावेजीकरण का हिमायती हूं। यह मेरा व्यक्तिगत अनुभव और अवलोकन है कि जिस सोर्स कोड पर कठोर टिप्पणी की जाती है, उस पर काम करने से मुझे अलग-अलग तरीकों से मदद मिली है, जब मुझे सॉफ्टवेयर विकसित करना है या इसे बनाए रखना है।

हालाँकि एक और शिविर है जो कहता है कि टिप्पणी करना अंततः बेकार है या इसका मूल्य संदिग्ध है। टिप्पणी के बिना कोडिंग के कई समर्थकों का तर्क है कि:

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

मेरे लिए यह सिर्फ हठधर्मिता है। फिर से, मेरा व्यक्तिगत अवलोकन यह रहा है कि स्मार्ट और अनुभवी डेवलपर्स की टीमों द्वारा लिखा गया सॉफ्टवेयर अंत में काफी मात्रा में कोड के साथ समाप्त होता है जो कि आत्म-व्याख्यात्मक नहीं है।

फिर से, जावा एपीआई, कोको एपीआई, एंड्रॉइड एपीआई, आदि बताते हैं कि यदि आप गुणवत्ता प्रलेखन को लिखना और बनाए रखना चाहते हैं, तो यह संभव है।

यह सब कहने के बाद, पेशेवरों और पेशेवरों के विपक्ष के बारे में बातचीत और स्रोत कोड पर टिप्पणी करना जो व्यक्तिगत मान्यताओं पर आधारित हैं, आमतौर पर अच्छी तरह से समाप्त नहीं होते हैं और कोई संतोषजनक निष्कर्ष नहीं निकालते हैं।

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

क्या आप इस तरह के लेखों पर अड़ गए हैं और उनका परिणाम क्या रहा है, यदि कोई है तो


2
मुझे लगता है कि यह एक दिलचस्प सवाल है, लेकिन मुझे बहुत आश्चर्य नहीं है कि यह यहां बंद हो सकता है। इसलिए मैंने इसे Quora पर भी पोस्ट किया है।
बेहरंग सईदज़ादे

4
@gnat - यह मुझे लगता है कि "सॉफ्टवेयर विकास के क्षेत्र के इस पहलू में क्या शोध किया गया है?" "कृपया मुझे एक विषय पर पुस्तकें दें" अनुरोधों के बजाय एक अलग सवाल है जो काफी स्वागत योग्य नहीं हैं।
जोश केली

1
सिर्फ शीर्षक पढ़ने से: गुणवत्ता पर किसी भी चीज के प्रभाव के बारे में कोई अनुभवजन्य अध्ययन नहीं है। अगर वहाँ थे, तो यह साइट मौजूद नहीं होगी।
जश्न

2
@ आपके दो कथन एक दूसरे के विरोधाभासी हैं। यदि हम "पागल" 30 साल पुराने दस्तावेज़ को अनदेखा करते हैं, तो कोई संघर्ष नहीं है। लेकिन वैसे भी, हमें निष्कर्षों को नजरअंदाज नहीं करना चाहिए क्योंकि वे पुराने हैं, लेकिन गंभीर रूप से मूल्यांकन करते हैं कि वे आधुनिक कार्यों से कैसे संबंधित हैं (जैसा कि हमें नए परिणामों के साथ भी होना चाहिए)।

3
@ जोश मैं चाहता हूं कि आप एक उत्तर के रूप में पोस्ट करें, इसलिए मैं आपके कंबल के शोध में आपके शोध के कुल अभाव को कम कर सकता हूं। सॉफ्टवेयर गुणवत्ता पर विभिन्न तकनीकों के प्रभावों के बारे में, अनुभवजन्य और अन्यथा, कागज और टन के टन हैं। क्या आपने सॉफ्टवेयर इंजीनियरिंग के बारे में कुछ भी अध्ययन किया है?
एंड्रेस एफ।

जवाबों:


9

में "मॉड्यूलर और कार्यक्रम समझ पर टिप्पणी के प्रभाव" (1981), वुडफील्ड, Dunsmore, और शेन ने पाया कि "विषयों जिसका कार्यक्रमों निहित टिप्पणी टिप्पणियों के बिना उन लोगों की तुलना में अधिक सवालों के जवाब देने में सक्षम थे।"

हालांकि, "लर्निंग मेट्रिक फॉर कोड रिऐबिलिटी" (2010) में रेमंड पीएल ब्यूज़ और वेस्टले वीमर ने पाया कि टिप्पणियों का पठनीयता और गुणवत्ता पर सीमित प्रभाव पड़ता है:

अमूर्त से:

हम एक स्वचालित पठनीयता माप का निर्माण करते हैं और ... दिखाते हैं कि यह मीट्रिक सॉफ्टवेयर गुणवत्ता के तीन उपायों के साथ दृढ़ता से संबंधित है: कोड परिवर्तन, स्वचालित दोष रिपोर्ट और लॉग संदेश ख़राब ... हमारा डेटा बताता है कि टिप्पणियां, स्वयं की, कम महत्वपूर्ण हैं पठनीयता के स्थानीय निर्णयों के लिए सरल रिक्त लाइनों की तुलना में।

पृष्ठ 12 से:

हमने पाया कि टिप्पणियां केवल हमारे एनोटेटर्स द्वारा पठनीयता (33% सापेक्ष शक्ति) की धारणा के साथ अच्छी तरह से सहसंबद्ध हैं। एक निष्कर्ष यह हो सकता है कि टिप्पणियों में पठनीयता को बढ़ाया जा सकता है, लेकिन वे आमतौर पर कोड सेगमेंट में उपयोग किए जाते हैं जो कम पठनीय शुरू करते हैं: टिप्पणी और अपठनीय कोड प्रभावी रूप से बाहर संतुलन बनाते हैं। शुद्ध प्रभाव यह प्रतीत होता है कि टिप्पणियाँ हमेशा और अपने आप में उच्च या निम्न पठनीयता का सूचक नहीं होती हैं।

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


1
वुडफील्ड एट अल पेपर टिप्पणियों की एक विशेष किस्म के बारे में है, जो अब जावदोक कहलाने के लगभग बराबर है: "विशेष रूप से, यह शोध यह निर्धारित करने का प्रयास करता है कि एक तार्किक मॉड्यूल से ठीक पहले डाले गए लघु टिप्पणियों, समारोह का वर्णन करके संक्षेप में सहायता कर सकते हैं। तार्किक मॉड्यूल की और तार्किक मॉड्यूल की सीमाओं को परिभाषित करने में मदद करता है। "

मुझे उस समय जोड़ा जाना चाहिए: यह कहना नहीं है कि इसका कोई मूल्य नहीं है, वास्तव में यह एक दिलचस्प और अच्छी तरह से निर्मित अध्ययन है। मुझे लगा कि यह कहने की ज़रूरत है कि वे सभी टिप्पणियों के बारे में नहीं ले रहे हैं ।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.