20 साल के एक सॉफ्टवेयर इंजीनियर के रूप में, ज्यादातर सुरक्षा-संबंधित सामान (एसएफ-पीडी) पर काम कर रहे हैं, मुझे यह कहना होगा कि आपका बॉस वह व्यक्ति नहीं हो सकता है जिसे आप अपना उदाहरण बनाना चाहते हैं। टिप्पणियों का अभाव या तो एक स्व-सिखाया शौकिया कोडर का संकेत है जिसने कभी नहीं सीखा कि कैसे ठीक से काम करना है, या एक अनुभवहीन इंजीनियर। या शायद एक इंजीनियर जो बस समय नहीं रखता है - समय सीमा और समीचीनता आपके कोड के लिए भयानक काम कर सकती है! ;) यह निश्चित रूप से हर सक्षम सॉफ्टवेयर इंजीनियर के लिए एक विरोधी पैटर्न है।
आपका बॉस बहुत अच्छा कोडर हो सकता है, लेकिन ऐसा लगता है कि वह एक अच्छा सॉफ्टवेयर इंजीनियर नहीं है। एक अभियंता सामूहिक समूह के अनुभव का उपयोग करता है ताकि अन्य लोगों को पहले से ही पकड़ा जा सके। प्रभावी टिप्पणी सॉफ्टवेयर के लिए उस सामूहिक समूह अनुभव का हिस्सा है, उसी तरह जैसे कि मैकेनिकल इंजीनियरिंग के लिए तनाव विश्लेषण सामूहिक समूह अनुभव का हिस्सा है। प्रभावी टिप्पणी के रूप में क्या मायने रखता है हालांकि अधिक तरल है, और यह निश्चित रूप से कुछ है जो आपको अनुभव से मिलता है।
सबसे बुनियादी बात यह है कि टिप्पणियों को यह नहीं कहना चाहिए कि कोड की एक पंक्ति क्या करती है। ऐसे समय होते हैं जब टिप्पणी यह कहने के लिए होती है कि फ़ंक्शन क्या करता है () विशेष रूप से C # में भी। ओवर-कमेंटिंग अप्रभावी (और अनुभव की कमी के लिए एक संकेतक) के रूप में हो सकती है क्योंकि आप महत्वपूर्ण सामग्री को सकल में नहीं पा सकते हैं। नौसिखिए के रूप में, आप अभी भी कोड के "क्या" का पता लगाने पर काम कर सकते हैं, और इसके लिए आपको बस पढ़ने और समझने की ज़रूरत है कि उसने क्या किया है।
टिप्पणी के लिए महत्वपूर्ण बात यह है, हालांकि वे कहते हैं कि है क्यों कोड की एक पंक्ति या एक समारोह कि वह क्या करता है, जहां इस स्पष्ट नहीं हो सकता है। क्या आपको मॉड्यूल Y से पहले मॉड्यूल X स्थापित करने की आवश्यकता है? क्या यह देखने के लिए कि क्या कोई फ़ाइल पहले से खुली थी, रिटर्न कोड की जाँच करना महत्वपूर्ण है, या क्या हम जानबूझकर रिटर्न कोड को अनदेखा कर रहे हैं क्योंकि यह कहीं और चेक किया गया है? कोड का "क्यों" सभी के लिए प्रासंगिक होगा, अनुभव की परवाह किए बिना - और यह उसके लिए 6 महीने के समय में भी प्रासंगिक होगा, जब वह किसी विशेष तरीके से कुछ करने के अच्छे कारण के बारे में भूल जाता है। टिप्पणी करना अन्य लोगों के लिए नहीं है, यह भविष्य में भी आपकी मदद करने के लिए है।
यदि आप अपने बॉस को परेशान करने से बचना चाहते हैं, तो स्मार्ट सवाल पूछें। "क्यों" के बारे में पूछने पर ध्यान दें, और "क्या" अपने आप को बाहर निकालने की कोशिश करें (जब तक कि यह वास्तव में अस्पष्ट नहीं है)। किसी भी अच्छे बॉस से सवाल नहीं पूछा जाएगा कि क्या वे उस तरह की चीजें नहीं हैं जो आपको आर-इंग टीएफएम से मिल सकती हैं। और किसी भी अच्छे इंजीनियर को ऐसा कुछ करने के लिए नहीं कहा जाएगा जो किसी अन्य इंजीनियर के जीवन को बहुत आसान बना देगा, उन्हें कम कीमत पर। (बस उसे पूरे कोडबेस पर टिप्पणियों को बैकफ़िल करने के लिए नहीं कहेंगे!);