Требования к коду на Go #
Смотрите также общие Соглашения о кодировании.
Версия языка #
Используйте Go 1.27 или выше и зафиксируйте это в go mod.
- Используйте Стандартный макет Go проекта
- Для сборки используйте Makefile (он уже есть в шаблоне)
Статический анализ #
Статический анализ уже настроен в шаблоне.
- Вы должны применять автоформатирование и статический анализ, включая
go fix ./...для обновления кода под современные возможности языка. - Статический анализатор ― обязательно golangci-lint.
Требования к тестам #
- Тесты размещаются рядом с кодом в файлах с суффиксом
_test.go - Для проверок используйте пакет
requireбиблиотеки github.com/stretchr/testify - В файлах тестов указывается тот же пакет, что и в основном коде
- Для запуска одного сценария с разными входными данными следует использовать параметризованные тесты
Примеры #
- Основной пример: Интерпретатор MiniJava — будет дополняться в течение курса