Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 3.02 KB

4.md

File metadata and controls

53 lines (35 loc) · 3.02 KB

Задание 4

Цель этого задания - внедрить линтер golangci-lint для контроля качества кода, и исправить найденные проблемы. Кроме того, необходимо подключить утилиту pre-commit для автоматизации проверок перед каждым коммитом.

В результате выполнения этой задачи golangci-lint должен проходить без ошибок на всем коде проекта (включая тесты).

Функциональные требования

Отсутствуют.

Нефункциональные требования

  1. Установить golangci-lint и сделать первый конфиг с опцией, включающей все доступные линтеры. Затем последовательно отключить устаревшие/ненужные линтеры, исправить найденные проблемы/добавить исключения. Пример рабочего конфига можно найти в файле golangci.yaml из этого курса.

  2. Установить pre-commit, написать конфиг для проекта, настроить запуск .

  3. Добавить прогон golangci-lint в github CI в случае pull request и пуша в main.

  4. Добавить запуск юнит-тестов в github CI в случае pull request и пуша в main.

  5. Добавить анализ уровня покрытия: github CI должен падать с ошибкой, если текущее значение покрытия меньше 80%. Для решения этой задачи можно воспользоваться скриптом check-coverage из этого курса или написать свой на его основе.

  6. В документации проекта необходимо описать новые команды (как поставить, как подключить).

Материалы для ознакомления