Настраивал ли линтер

«Настраивал ли линтер» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, настраивал. Чаще всего использую golangci-lint как универсальный инструмент. Пример конфига .golangci.yml:

linters-settings:
  govet:
    check-shadowing: true
  staticcheck:
    go: "1.21"

linters:
  enable:
    - govet
    - staticcheck
    - errcheck
    - gosec
    - bodyclose

issues:
  exclude-use-default: false

Ключевые моменты:

  • Включаю статический анализ (staticcheck)
  • Проверку ошибок (errcheck)
  • Безопасность (gosec)
  • Проверку на утечки ресурсов (bodyclose)

Интегрирую в CI/CD, чтобы линтинг запускался автоматически.