33 timeout : 5m
44
55linters :
6- disable-all : true
6+ disable-all :
7+ true
8+ # Disabled linters:
9+ # canonicalheader
10+ # decorder
11+ # dupword
12+ # err113
13+ # exhaustruct
14+ # forbidigo
15+ # forcetypeassert # заменён на errcheck
16+ # funlen
17+ # ginkgolinter
18+ # gofmt # заменён на goimports
19+ # gofumpt # заменён на goimports
20+ # goheader
21+ # gomoddirectives
22+ # gomodguard # используется более мощный depguard
23+ # gosmopolitan
24+ # grouper
25+ # interfacebloat
26+ # intrange
27+ # ireturn
28+ # lll
29+ # loggercheck
30+ # mirror
31+ # misspell # бесполезный
32+ # nonamedreturns
33+ # nlreturn # слишком строгий и в основном код не более читабелен
34+ # paralleltest # слишком много ложных срабатываний
35+ # protogetter
36+ # sloglint
37+ # spancheck
38+ # sqlclosecheck
39+ # tagalign
40+ # tenv # заменён на usetesting.os-setenv: true
41+ # testableexamples
42+ # testpackage
43+ # varnamelen
44+ # wastedassign
45+ # wsl # слишком строгий и в основном код не более читабелен
46+ # zerologlint
747 enable :
848 - asasalint
949 - asciicheck
1050 - bidichk
1151 - bodyclose
1252 - containedctx
1353 - contextcheck
54+ - copyloopvar
1455 - cyclop
56+ - depguard
1557 - dogsled
1658 - dupl
1759 - durationcheck
@@ -20,59 +62,86 @@ linters:
2062 - errname
2163 - errorlint
2264 - exhaustive
23- - exportloopref
24- - forcetypeassert
65+ - exptostd
66+ - fatcontext
2567 - gci
2668 - gocheckcompilerdirectives
2769 - gochecknoglobals
2870 - gochecknoinits
71+ - gochecksumtype
2972 - gocognit
3073 - goconst
3174 - gocritic
3275 - gocyclo
3376 - godot
3477 - godox
35- - gofmt
3678 - goimports
37- - gomnd
3879 - goprintffuncname
3980 - gosec
4081 - gosimple
4182 - govet
83+ - iface
4284 - importas
85+ - inamedparam
4386 - ineffassign
4487 - maintidx
4588 - makezero
46- - misspell
89+ - mnd # https://golangci-lint.run/usage/linters/#mnd
4790 - musttag
4891 - nakedret
4992 - nestif
5093 - nilerr
94+ - nilnesserr
5195 - nilnil
52- - nlreturn
5396 - noctx
5497 - nolintlint
5598 - nosprintfhostport
56- - paralleltest
99+ - perfsprint
57100 - prealloc
58101 - predeclared
102+ - promlinter
59103 - reassign
104+ - recvcheck
60105 - revive
106+ - rowserrcheck
61107 - staticcheck
62108 - stylecheck
63109 - tagliatelle
110+ - testifylint
64111 - thelper
112+ - tparallel
65113 - typecheck
66114 - unconvert
67115 - unparam
68116 - unused
69117 - usestdlibvars
118+ - usetesting
70119 - whitespace
71120 - wrapcheck
72121
73122linters-settings :
123+ cyclop :
124+ max-complexity : 15
125+ skip-tests : true
126+ depguard :
127+ rules :
128+ main :
129+ list-mode : lax
130+ deny :
131+ - pkg : " github.com/pkg/errors"
132+ desc : Should be replaced by standard lib errors package
133+ - pkg : " github.com/golang/protobuf"
134+ desc : " Use google.golang.org/protobuf instead, see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules"
135+ errcheck :
136+ check-type-assertions : true
74137 errorlint :
75138 errorf : false
139+ exhaustive :
140+ # Presence of "default" case in switch statements satisfies exhaustiveness,
141+ # even if all enum members are not listed.
142+ default-signifies-exhaustive : true
143+ # Only run exhaustive check on switches with "//exhaustive:enforce" comment.
144+ explicit-exhaustive-switch : true
76145 gci :
77146 sections :
78147 - standard
@@ -81,8 +150,70 @@ linters-settings:
81150 gocognit :
82151 min-complexity : 10
83152 gocyclo :
84- min-complexity : 10
153+ min-complexity : 15
154+ goimports :
155+ local-prefixes : capuchin
156+ gosec :
157+ excludes :
158+ - G108 # Profiling endpoint automatically exposed on /debug/pprof
159+ govet :
160+ # Run `GL_DEBUG=govet golangci-lint run --enable=govet` to see default, all available analyzers, and enabled analyzers.
161+ enable-all : true
162+ disable :
163+ - fieldalignment # Использовать при необходимости, ухудшается читаемость кода
164+ - slog # На проекте используется zap
165+ settings :
166+ shadow :
167+ strict : true
168+ iface :
169+ enable :
170+ - identical
171+ - unused
172+ - opaque
85173 nestif :
86174 min-complexity : 4
175+ nolintlint :
176+ require-explanation : true
177+ require-specific : true
178+ revive :
179+ enable-all-rules : true
180+ rules :
181+ - name : add-constant
182+ disabled : true
183+ - name : cognitive-complexity
184+ disabled : true
185+ - name : comment-spacings
186+ disabled : true
187+ - name : cyclomatic
188+ disabled : true
189+ - name : function-length
190+ disabled : true
191+ - name : line-length-limit
192+ disabled : true
193+ - name : max-public-structs
194+ disabled : true
195+ - name : unused-parameter
196+ disabled : true
197+ rowserrcheck :
198+ packages :
199+ - github.com/jmoiron/sqlx
200+ tagliatelle :
201+ case :
202+ use-field-name : true
203+ testifylint :
204+ enable-all : true
205+ disable :
206+ - require-error
87207 unparam :
88208 check-exported : true
209+
210+ issues :
211+ # Maximum count of issues with the same text.
212+ # Set to 0 to disable.
213+ # Default: 3
214+ max-same-issues : 50
215+
216+ exclude-rules :
217+ - linters :
218+ - govet
219+ text : ' ^shadow: declaration of "err" shadows declaration.+'
0 commit comments