पिछले अभ्यास में हमने देखा था कि Go में कमेंट लिखने के दो तरीके होते हैं: सिंगल-लाइन कमेंट, जिनसे पहले // लिखा होता है, और मल्टीलाइन कमेंट ब्लॉक, जिन्हें /* और */ के बीच रखा जाता है।
Go में कोड के डॉक्युमेंटेशन में कमेंट की अहम भूमिका होती है।
godoc कमांड इन कमेंट को निकालकर Go पैकेजों का डॉक्युमेंटेशन बनाता है।
डॉक्युमेंटेशन कमेंट एक पूरा वाक्य होना चाहिए। यह वाक्य जिस चीज़ का वर्णन किया जा रहा है उसके नाम से शुरू होना चाहिए और पूर्ण विराम पर खत्म होना चाहिए।
कमेंट पैकेज से पहले भी लिखा जाना चाहिए और एक्सपोर्ट किए गए आइडेंटिफायर से भी, जैसे एक्सपोर्ट किए गए फंक्शन, मेथड, पैकेज वेरिएबलो, कॉन्स्टेंट और स्ट्रक्ट। इनके बारे में आप आगे के अभ्यासों में और जानेंगे।
पैकेज-लेवल वेरिएबल कुछ ऐसा दिख सकता है:
// TemperatureCelsius represents a certain temperature in degrees Celsius.
var TemperatureCelsius float64
पैकेज कमेंट ठीक पैकेज क्लॉज़ (package x) से पहले लिखा जाना चाहिए और Package x ... से शुरू होना चाहिए, जैसे यहाँ:
// Package kelvin provides tools to convert
// temperatures to and from Kelvin.
package kelvin
फंक्शन कमेंट ठीक फंक्शन की घोषणा से पहले लिखा जाना चाहिए।
यह एक पूरा वाक्य होना चाहिए जो फंक्शन के नाम से शुरू हो।
जैसे, फंक्शन Calculate के लिए एक्सपोर्ट किया गया कमेंट Calculate ... के रूप में होना चाहिए।
इसमें यह भी बताया जाना चाहिए कि फंक्शन कौन से आर्गुमेंट लेता है, उनके साथ क्या करता है, और उसकी रिटर्न वैल्यू का क्या अर्थ है, और अंत में एक पूर्ण विराम हो):
// CelsiusFreezingTemp returns an integer value equal to the temperature at which water freezes in degrees Celsius.
func CelsiusFreezingTemp() int {
return 0
}
Goblinocus एक ऐसा देश है जो अपने मौसम के पूर्वानुमान को बहुत गंभीरता से लेता है। चूँकि आप एक प्रतिष्ठित, ज़िम्मेदार और कुशल डेवलपर हैं, इसलिए उन्होंने आपसे कहा कि आप एक ऐसा प्रोग्राम लिखें जो Goblinocus के अलग-अलग शहरों की मौजूदा मौसम की स्थिति का पूर्वानुमान लगा सके। उस समय आप व्यस्त थे, इसलिए आपने यह काम अपने एक दोस्त को सौंप दिया। कुछ समय बाद Goblinocus के राष्ट्रपति ने आपसे संपर्क किया और कहा कि उन्हें आपके दोस्त का कोड समझ नहीं आता। जब आप कोड देखते हैं, तो पता चलता है कि आपके दोस्त ने एक ज़िम्मेदार प्रोग्रामर की तरह काम नहीं किया है और कोड में कोई कमेंट भी नहीं है। अब आपको लगता है कि प्रोग्राम को स्पष्ट करना आपका कर्तव्य है, ताकि गॉब्लिन भी उसे समझ सकें।
गॉब्लिन आपकी तरह समझदार नहीं हैं, इसलिए वे भूल गए कि यह पैकेज उनके लिए क्या करना चाहिए।
कृपया package weather के लिए एक कमेंट लिखिए जिसमें बताया गया हो कि इस पैकेज में क्या-क्या है।
इस कमेंट में पैकेज का परिचय होना चाहिए और पूरे पैकेज से जुड़ी जानकारी भी देनी चाहिए।
Goblinocus के राष्ट्रपति को हर बात पर शक रहता है और उन्हें डर है कि बिना कमेंट वाले वेरिएबलो का इस्तेमाल उनके देश को नष्ट करने के लिए किया जा रहा है।
कृपया पैकेज के वेरिएबलो CurrentCondition और CurrentLocation के इस्तेमाल को स्पष्ट कीजिए और राष्ट्रपति की चिंता दूर कीजिए।
इससे पैकेज के हर उपयोगकर्ता को पता चलना चाहिए कि ये वेरिएबल कौन सी जानकारी रखते हैं और उस जानकारी के साथ वह क्या कर सकता है।
Goblinocus में पूर्वानुमान तैयार करने वाले लोग जानना चाहते हैं कि Forecast() फंक्शन क्या करता है (लेकिन उन्हें यह मत बताइए कि यह कैसे काम करता है, क्योंकि दुर्भाग्य से वे और उलझ जाएँगे)।
कृपया इस फंक्शन के लिए एक कमेंट लिखिए जिसमें बताया गया हो कि यह फंक्शन क्या करता है, यह नहीं कि यह ऐसा कैसे करता है।
Exercism पर साइन अप कीजिए और Go को 34 कॉन्सेप्ट165 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।