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