Требования к коду на Go

Требования к коду на Go #

Смотрите также общие Соглашения о кодировании.

Версия языка #

Используйте Go 1.27 или выше и зафиксируйте это в go mod.

  1. Используйте Стандартный макет Go проекта
  2. Для сборки используйте Makefile (он уже есть в шаблоне)

Статический анализ #

Статический анализ уже настроен в шаблоне.

  1. Вы должны применять автоформатирование и статический анализ, включая go fix ./... для обновления кода под современные возможности языка.
  2. Статический анализатор ― обязательно golangci-lint.

Требования к тестам #

  1. Тесты размещаются рядом с кодом в файлах с суффиксом _test.go
  2. Для проверок используйте пакет require библиотеки github.com/stretchr/testify
  3. В файлах тестов указывается тот же пакет, что и в основном коде
  4. Для запуска одного сценария с разными входными данными следует использовать параметризованные тесты

Примеры #

  1. Основной пример: Интерпретатор MiniJava — будет дополняться в течение курса