-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path.golangci.yml
113 lines (109 loc) · 3.11 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
run:
timeout: 10m
issues:
# 显示所有 issue
max-issues-per-linter: 0
max-same-issues: 0
exclude-use-default: false
linters:
disable-all: true
enable:
# enable by default
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- unused
# custom
- funlen
- gci
- goconst
- gocritic
- gocyclo
- gofmt
- goheader
- goimports
- gosec
- lll
- misspell
- nakedret
- revive
- unconvert
- unparam
linters-settings:
# 只开启特定的规则
errcheck:
exclude-functions:
- (*os.File).Close
- (io.Closer).Close
- (net/http.ResponseWriter).Write
- github.com/go-chi/render.Render
- io.Copy
- os.RemoveAll
lll:
line-length: 120 # widely used and popular community recommended length
funlen:
lines: 90 # 函数长度 default * 1.5
statements: -1 # 不限制语句数量, 通过圈复杂度处理
gocyclo:
min-complexity: 30 # 函数圈复杂度
govet:
check-shadowing: true
gci:
sections:
- standard
- default
- prefix(github.com/TencentBlueKing/bscp-go)
gocritic:
settings:
ifElseChain:
minThreshold: 3
gosec:
includes:
- G201 # SQL query construction using format string
- G202 # SQL query construction using string concatenation
- G101 # Look for hard coded credentials
- G401 # Detect the usage of DES, RC4, MD5 or SHA1
- G402 # Look for bad TLS connection settings
- G403 # Ensure minimum RSA key length of 2048 bits
- G404 # Insecure random number source (rand)
- G504 # Import blocklist: net/http/cgi
goheader:
values:
regexp:
YEAR: 20\d\d # 头部时间变量, 如: 2019等, 新增的为当前年份即可
template: |-
* Tencent is pleased to support the open source community by making Blueking Container Service available.
* Copyright (C) {{ YEAR }} THL A29 Limited, a Tencent company. All rights reserved.
* Licensed under the MIT License (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
* http://opensource.org/licenses/MIT
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language governing permissions and
* limitations under the License.
misspell:
locale: US
revive:
confidence: 0
rules:
- name: blank-imports
- name: context-as-argument
- name: context-keys-type
- name: dot-imports
- name: early-return
- name: error-naming
- name: error-return
- name: error-strings
- name: errorf
- name: exported
- name: increment-decrement
- name: indent-error-flow
- name: package-comments
- name: range
- name: receiver-naming
- name: time-naming
- name: unexported-return
- name: var-declaration
# - name: var-naming