У попередній вправі ми побачили, що в 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 вправ та справжнє наставництво від людей, і все це безкоштовно.