मैं आमतौर पर इस तरह की टिप्पणियों को एक बुरा व्यवहार मानता हूं और मुझे लगता है कि इस तरह की जानकारी एससीएम प्रतिबद्ध लॉग्स की है। यह ज्यादातर मामलों में कोड को पढ़ना मुश्किल बनाता है।
हालाँकि , मैं अभी भी विशिष्ट प्रकार के संपादन के लिए अक्सर ऐसा कुछ करता हूं।
केस 1 - कार्य
यदि आप ग्रहण, नेटबीन्स, विजुअल स्टूडियो जैसी आईडीई का उपयोग करते हैं (या किसी अन्य चीज़ के साथ अपने कोडबेस पर पाठ खोज करने का कोई तरीका है), तो शायद आपकी टीम कुछ विशिष्ट "टिप्पणी टैग" या "कार्य टैग" का उपयोग करती है। किस मामले में यह उपयोगी हो सकता है।
मैं समय-समय पर, जब कोड की समीक्षा कर रहा हूं, तो निम्न जैसा कुछ जोड़ें:
// TOREVIEW: [2010-12-09 haylem] marking this for review because blablabla
या:
// FIXME: [2010-12-09 haylem] marking this for review because blablabla
मैं अलग-अलग कस्टम टास्क टैग्स का उपयोग करता हूं जिन्हें मैं इसके लिए टास्क व्यू में एक्लिप्स में देख सकता हूं, क्योंकि कमिट लॉग्स में कुछ होना एक अच्छी बात है लेकिन पर्याप्त नहीं है जब आपके पास एक एग्जीक्यूटिव मीटिंग रिव्यू मीटिंग में आपसे पूछ रहा है कि क्यों बगफिक्स एक्सवाई पूरी तरह से भूल गया था और के माध्यम से फिसल गया। तो तत्काल मामलों पर या कोड के वास्तव में संदिग्ध टुकड़ों पर, यह एक अतिरिक्त अनुस्मारक के रूप में कार्य करता है (लेकिन आमतौर पर मैं टिप्पणी को छोटा रखूंगा और कमिट लॉग की जांच करूंगा क्योंकि THATAT का रिमाइंडर यहां है, इसलिए मैं कोड को अव्यवस्थित नहीं करता हूं बहुत)।
केस 2 - 3-पार्टी लिबस पैच
यदि मेरे उत्पाद को स्रोत (या पुस्तकालय, लेकिन स्रोत से फिर से बनाया गया) के रूप में कोड के एक 3 पार्टी के टुकड़े को पैकेज करने की आवश्यकता है, क्योंकि इसे किसी कारण से पैच करने की आवश्यकता है, तो हम पैच को एक अलग दस्तावेज़ में दस्तावेज़ित करते हैं जहां हम उन "कैविट्स" को सूचीबद्ध करते हैं। भविष्य के संदर्भ के लिए, और स्रोत कोड में आमतौर पर एक टिप्पणी के समान होगा:
// [PATCH_START:product_name]
// ... real code here ...
// [PATCH_END:product_name]
केस 3 - गैर-स्पष्ट सुधार
यह एक और अधिक विवादास्पद है और आपके वरिष्ठ देव के लिए क्या पूछ रहा है।
इस समय मैं जिस उत्पाद पर काम कर रहा हूं, उसमें हम कभी-कभी (निश्चित रूप से सामान्य बात नहीं) जैसी टिप्पणी करते हैं:
// BUGFIX: [2010-12-09 haylem] fix for BUG_ID-XYZ
हम केवल ऐसा करते हैं यदि बगफिक्स गैर-स्पष्ट है और कोड असामान्य रूप से पढ़ता है। यह उदाहरण के लिए ब्राउज़र क्विर्क के लिए मामला हो सकता है, या सीएसएस अस्पष्टता को ठीक करता है जिसे आपको केवल इसलिए लागू करने की आवश्यकता है क्योंकि किसी उत्पाद में दस्तावेज़ बग है। तो सामान्य तौर पर हम इसे अपने आंतरिक मुद्दे रिपॉजिटरी से जोड़ेंगे, जिसमें तब बाहरी उत्पाद के बग के प्रलेखन के लिए बगफिक्स और पॉइंटर्स के पीछे विस्तृत तर्क शामिल होंगे (जैसे, एक प्रसिद्ध इंटरनेट एक्सप्लोरर 6 दोष के लिए एक सुरक्षा सलाहकार, या ऐसा कुछ)।
लेकिन जैसा कि उल्लेख किया गया है, यह काफी दुर्लभ है। और कार्य टैग के लिए धन्यवाद, हम नियमित रूप से इनके माध्यम से चला सकते हैं और जांच सकते हैं कि क्या ये अजीब सुधार अभी भी समझ में आते हैं या चरणबद्ध हो सकते हैं (उदाहरण के लिए, यदि हमने बग उत्पाद के लिए समर्थन गिरा दिया है, तो पहली बार में बग पैदा हो सकता है)।
यह सिर्फ में: एक वास्तविक जीवन उदाहरण
कुछ मामलों में, यह कुछ भी नहीं से बेहतर है :)
मैं अभी अपने कोडबेस में एक विशाल सांख्यिकीय संगणना वर्ग में आया था, जहाँ हेडर टिप्पणी सामान्य याद्दा यद के साथ चैंज के रूप में थी: समीक्षक, तिथि, बग आईडी।
पहले तो मैंने स्क्रैप करने के बारे में सोचा लेकिन मैंने देखा कि बग आईडी न केवल हमारे वर्तमान इश्यू ट्रैकर के कन्वेंशन से मेल खाते थे, बल्कि कंपनी में शामिल होने से पहले इस्तेमाल किए गए ट्रैकर में से एक से भी मेल नहीं खाते थे। इसलिए मैंने कोड के माध्यम से पढ़ने की कोशिश की और एक समझ प्राप्त की कि कक्षा क्या कर रही थी (एक सांख्यिकीविद नहीं) और साथ ही इन दोषों की रिपोर्ट भी खोदने की कोशिश की। जैसा कि ऐसा होता है कि वे काफी महत्वपूर्ण थे और अगले लड़के के जीवन को उनके बारे में जानने के बिना फ़ाइल को संपादित करने के लिए बहुत भयानक थे, क्योंकि यह छोटे सटीक मुद्दों और विशेष मामलों के साथ उत्पन्न होता है जो मूल ग्राहक द्वारा वापस लिए गए बहुत विशिष्ट आवश्यकताओं पर आधारित होते हैं। । नीचे की रेखा, अगर ये वहां नहीं होते, तो मुझे नहीं पता होता। अगर वे वहां नहीं होते और मुझे कक्षा की बेहतर समझ होती,
कभी-कभी इन जैसी बहुत पुरानी आवश्यकताओं पर नज़र रखना मुश्किल होता है। अंत में मैंने जो किया वह अभी भी हेडर को हटा रहा था, लेकिन प्रत्येक "इन अजीब" संगणनाओं का वर्णन करने से पहले प्रत्येक अवरोही फ़ंक्शन के सामने एक ब्लॉक टिप्पणी में चुपके करने के बाद क्योंकि वे विशिष्ट अनुरोध हैं।
तो उस मामले में मैंने अभी भी इन बुरे व्यवहारों पर विचार किया था, लेकिन लड़का खुश था कि मूल देव ने कम से कम उन्हें अंदर डाल दिया था! कोड के बजाय स्पष्ट रूप से टिप्पणी करना बेहतर होगा, लेकिन मुझे लगता है कि कुछ भी नहीं से बेहतर था।