В Go, как вы отмечаете код как устаревший, чтобы пользователи получали предупреждение при его использовании?
Как вы отмечаете код как устаревший в Go?
Ответ 1
Вы можете создать пакет с именем old/yourpackage
и посоветовать использовать его, если кто-то полагается на устаревшие функции/интерфейсы, а затем создать обновленный пакет yourpackage
без старых вещей.
Нет способа вставить ни предупреждения, ни методы маркировки как устаревшие другим способом, чем в документации, согласно Godoc: документирование поста в блоге с кодом Go, который гласит:
Чтобы указать, что идентификатор не следует использовать, добавьте абзац к его комментарию к документу, который начинается с "Устаревший:", после чего следует некоторая информация об устаревании. В стандартной библиотеке есть несколько примеров.
Ответ 2
Godoc: документирование кода Go говорит о том, что код помечен как устаревший:
Чтобы указать, что идентификатор не следует использовать, добавьте абзац к его комментарию к документу, который начинается с "Устаревший:", после чего следует некоторая информация об устаревании.
Существует проблема с golint для сообщения об использовании устаревших идентификаторов, а также с проблемой godoc для зачеркивания или сокрытия устаревших идентификаторов.
Инструмент staticcheck сообщает об использовании устаревших идентификаторов (см. SA1019).
Ответ 3
компилятор Go не сообщает о предупреждениях, только ошибки, которые предотвращают сборник.
Ответ 4
В компиляторе Go нет поддержки (ни в 5g/6g/8g, ни в gccgo).
Насколько я знаю, в настоящее время для этого не существует средства проверки кода.
Единственный способ - вывести предупреждение об устаревании в документацию или просто удалить код.
Ответ 5
Вы также можете просто распечатать строку в stdout/stderr, говоря: "Этот метод устарел!" каждый раз, когда вызывается устаревший метод. Вы также можете указать подсказку о том, как пользователь должен исправить это.