Files

47 lines
2.4 KiB
YAML

version: "2"
run:
# Сколько времени давать линтеру на проверку (для больших проектов лучше ставить 5m)
timeout: 3m
# Проверять ли тесты
tests: true
linters:
# Отключаем все по умолчанию, чтобы включить только нужные нам
disable-all: true
enable:
# --- ОБЯЗАТЕЛЬНЫЕ (База) ---
- errcheck # Проверяет, не забыл ли ты обработать ошибку (if err != nil)
- govet # Официальный инструмент Go, ищет подозрительные конструкции
- ineffassign # Находит переменные, которым присвоили значение, но не использовали
- staticcheck # Огромный набор проверок на логические ошибки
- unused # Ищет неиспользуемый код (функции, переменные, типы)
# --- ОБУЧАЮЩИЕ (Помогут новичку) ---
- revive # Замена старому golint: следит за именованием и комментариями
- errname # Проверяет, что ошибки названы по стандарту (например, ErrSentinel)
- goconst # Находит строки, которые часто повторяются (подскажет сделать константу)
- makezero # Следит, чтобы ты не делал лишних аллокаций в slice
settings:
revive:
# Настраиваем правила
rules:
# Отключаем обязательные комментарии для экспортируемых сущностей
- name: exported
disabled: true
# Отключаем требование комментариев к пакетам
- name: package-comments
disabled: true
# Оставляем полезное: проверка именования (var_name -> varName)
- name: var-naming
severity: warning
issues:
# Не ограничивай количество ошибок, пока учишься
max-issues-per-linter: 0
max-same-issues: 0
# Исключаем некоторые папки (например, сгенерированный код)
exclude-dirs:
- vendor