আগের অনুশীলনীতে আমরা দেখেছি, 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।