-
Notifications
You must be signed in to change notification settings - Fork 0
/
.golangci.yml
211 lines (177 loc) · 4.19 KB
/
.golangci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# 运行配置
run:
# 要使用的CPU核心数
concurrency: 4
# 分析超时,例如 30s, 5m,默认是 1m
timeout: 5m
# 包管理模式,go modules使用readonly
# 可用的值范围 readonly|release|vendor
modules-download-mode: readonly
# 是否包含测试文件
tests: false
# 要跳过检查的目录
skip-dirs:
- bin
- vendor
# 允许跳过目录
skip-dirs-use-default: true
# 跳过文件
skip-files:
# 输出配置
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
format: colored-line-number
# 打印行号
print-issued-lines: true
# 打印检查器的名称
print-linter-name: true
# 质量检查配置
linters-settings:
# 错误检查
errcheck:
# 检查类型错误
check-type-assertions: false
# 检查空标识符
check-blank: true
# 忽略文件
ignore: fmt:.*,io/ioutil:^Read.*
funlen:
lines: 60
statements: 40
govet:
# 检查影子变量
check-shadowing: true
# 根氟名称启用或禁用分析器
enable:
# - atomicalign
enable-all: false
disable:
# - shadow
disable-all: false
golint:
# minimal confidence for issues, default is 0.8
min-confidence: 0.8
# 检查函数的复杂程度
gocyclo:
# 最小复杂性
min-complexity: 35
gocognit:
# 最小复杂性
min-complexity: 35
maligned:
# 为内存对齐优化给出新的结构体字段排序建议
suggest-new: true
dupl:
# tokens count to trigger issue, 150 by default
threshold: 100
goconst:
# minimal length of string constant, 3 by default
min-len: 3
# minimal occurrences count to trigger, 3 by default
min-occurrences: 3
depguard:
list-type: blacklist
include-go-root: false
lll:
line-length: 240
tab-width: 1
misspell:
# Correct spellings using locale preferences for US or UK.
# Default is to use a neutral variety of English.
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
locale: US
ignore-words:
- someword
nakedret:
# 如果func的代码行数比这个设置的多,并且它的返回值是空的,就会产生问题,默认是30
max-func-lines: 30
unused:
check-exported: true
unparam:
check-exported: false
gocritic:
enabled-checks:
disabled-checks:
enabled-tags:
- performance
settings: # settings passed to gocritic
captLocal: # must be valid enabled check name
paramsOnly: true
rangeValCopy:
sizeThreshold: 32
linters:
enable:
- bodyclose
- deadcode
- depguard
- dogsled
- errcheck
- gochecknoinits
- goconst
- gocritic
- gocyclo
- gofmt
- goimports
- gosec
- gosimple
- govet
- ineffassign
- interfacer
- misspell
- scopelint
- staticcheck
- typecheck
- unconvert
- unparam
- varcheck
- maligned
- godox
- structcheck
enable-all: false
disable:
- unused
- stylecheck
- funlen
- whitespace
- dupl
- golint
- lll
- wsl
- nakedret
- gochecknoglobals
disable-all: false
presets:
- bugs
fast: false
issues:
new: false
exclude: /bin
exclude-rules:
# 设置某个目录的排除规则
- path: _test\.go
linters:
- gocyclo
- errcheck
- dupl
- gosec
- path: internal/hmac/
text: "weak cryptographic primitive"
linters:
- gosec
# 排序一些staticcheck消息
- linters:
- staticcheck
text: "SA9003:"
# Exclude lll issues for long lines with go:generate
- linters:
- lll
source: "^//go:generate "
# Independently from option `exclude` we use default exclude patterns,
# it can be disabled by this option. To list all
# excluded by default patterns execute `golangci-lint run --help`.
# Default value for this option is true.
exclude-use-default: false
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 0