diff options
| author | 2026-01-24 17:46:54 +0300 | |
|---|---|---|
| committer | 2026-01-24 17:46:54 +0300 | |
| commit | 95fc6de88975781abfe576977c960197a9743442 (patch) | |
| tree | 00ed76b0ff22f71af4b450c604f16ada72ed5241 /.golangci.yml | |
| download | eventbus-95fc6de88975781abfe576977c960197a9743442.tar.gz eventbus-95fc6de88975781abfe576977c960197a9743442.tar.bz2 eventbus-95fc6de88975781abfe576977c960197a9743442.tar.xz eventbus-95fc6de88975781abfe576977c960197a9743442.zip | |
v1.0.0v1.0.0
Diffstat (limited to '')
| -rw-r--r-- | .golangci.yml | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..49aec92 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,207 @@ +version: "2" +run: + timeout: 5m + allow-parallel-runners: false +linters: + default: none + enable: + - asasalint + - asciicheck + - bidichk + - bodyclose + - canonicalheader + - containedctx + - copyloopvar + - decorder + - dupword + - durationcheck + - embeddedstructfieldcheck + - errcheck + - errname + - errorlint + - exhaustive + - exptostd + - fatcontext + - funcorder + - ginkgolinter + - gocheckcompilerdirectives + - gochecksumtype + - goconst + - gocritic + - godoclint + - godot + - godox + - goheader + - gomoddirectives + - goprintffuncname + - gosec + - gosmopolitan + - govet + - grouper + - iface + - importas + - inamedparam + - interfacebloat + - intrange + - iotamixing + - makezero + - mirror + - misspell + - nakedret + - nilerr + - nilnesserr + - nilnil + - nolintlint + - nosprintfhostport + - paralleltest + - perfsprint + - prealloc + - predeclared + - protogetter + - reassign + - recvcheck + - rowserrcheck + - spancheck + - sqlclosecheck + - staticcheck + - tagalign + - testableexamples + - testifylint + - thelper + - tparallel + - unconvert + - unqueryvet + - usestdlibvars + - usetesting + - wastedassign + - whitespace + - zerologlint + disable: + - arangolint # arangoDB нет на проекте. + - contextcheck # Заставляет везде писать контекст. + - cyclop # ! Включить и починить. Много проблемных мест. + - depguard # У нас нет списка разрешёных пакетов. Для этого есть SAST. + - dogsled # Пропускать возвращаемые переменные -- это нормально. + - dupl # Иногда дублирование уместнее обобщения. Можно сверятся с этим так, для справки. + - err113 # Динамические ошибки -- это нормально. + - errchkjson + - exhaustruct # ! Включить и починить. + - forbidigo # fmt.Print у нас только в нужных местах. Дополнительные паттерны не требуются. + - forcetypeassert # ! Включить и починить. + - funlen # ! Включить и починить. Слишком много срабатываний. + - gochecknoglobals # Глобальные переменные -- это нормально. + - gochecknoinits # Init -- это нормально. + - gocognit # ! Включить и починить. По хорошему сложные функции требуется рефачить. + - gocyclo # ! Включить и починить. + - ineffassign # Польза неясна. Единственный раз встречается в false-positive + - ireturn # ! Включить и починить. Нужно настроить нормально. + - lll # Невозможно ему удовлетворять. Стоит разделить линтеры на два файла: первый для CI, которому 100% надо удовлетворять, а второй для IDE, чтобы мягко намекала. + - loggercheck # Не актуален. У нас zerolog. + - maintidx # ! Включить и починить. У нас есть гигантские сложные функции, но пока нет времени с ними разобраться. + - mnd # ! Включить и починить. У нас слишком много чисел, которые очень лень отдельно прописывать. Однако линтер полезен, чтобы проверять статус-коды и подобное. + - musttag # ! Включить и починить. + - nestif # ! Включить и починить. Требуется рефактор. + - noctx # ! Включить и починить. Нет причин не использовать контекст. + - noinlineerr # Не вижу ничего плохого, но идея интересная. Мб и стоит её придерживаться. + - nonamedreturns # Не вижу ничего плохого в именовании выходных значений. Всё равно про них мало кто знает. + - promlinter # ! Проверить адекватность и нужность с нашим прометеем. + - revive # ! Включить и починить. Линтер светит простые ошибки, но их очень много. + - sloglint # slog нет на проекте. + - tagliatelle # ! Включить и починить. Активировать и расставить игноры на старые места где АПИ уже не получится поменять. + - testpackage + - unparam # Можно сверяться для справки. + - unused + - varnamelen + - wrapcheck + settings: + exhaustive: + default-signifies-exhaustive: true + funlen: + lines: 100 + statements: 50 + godoclint: + default: none + enable: + - pkg-doc + - start-with-name + - deprecated + - no-unused-link + godot: + # Comments to be checked: `declarations`, `toplevel`, `noinline` or `all`. + # Default: declarations + scope: declarations # ! Выставить all и пофиксить все замечания. + capital: true + gosec: + excludes: + - G115 + - G404 + gosmopolitan: + allow-time-local: true + interfacebloat: + max: 20 + misspell: + locale: US + mnd: + ignored-files: + - pkg/rusimpulse/.+\.go # Протокол табло имеет много специфичных операций. + - pkg/moxa/e1200/.+\.go # Работа с modbus требуется постоянно указывать адреса и количество чтения. + paralleltest: + ignore-missing: true + ignore-missing-subtests: true + staticcheck: + checks: + - all + - -ST1000 + - -ST1003 + - -ST1016 + - -ST1020 + - -ST1021 + - -ST1022 + tagalign: + align: false + order: + - yaml + - json + - validate + tagliatelle: + case: + rules: + json: camel + yaml: snake + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - third_party$ + - builtin$ + - examples$ +issues: + max-issues-per-linter: 0 + max-same-issues: 0 + fix: false +formatters: + enable: + - gofmt + - gofumpt + - goimports + settings: + gofmt: + simplify: true + rewrite-rules: + - pattern: "interface{}" + replacement: "any" + - pattern: "a[b:len(a)]" + replacement: "a[b:]" + gofumpt: + module-path: gitlab.sovcombank.group/hippogo/sup + extra-rules: false + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ |
