56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
run:
|
||
timeout: 3m
|
||
issues-exit-code: 2
|
||
tests: false # 不檢查測試檔案
|
||
|
||
linters:
|
||
enable:
|
||
- govet # 官方靜態分析,抓潛在 bug
|
||
- staticcheck # 最強 bug/反模式偵測
|
||
- revive # golint 進化版,風格與註解規範
|
||
- gofmt # 風格格式化檢查
|
||
- goimports # import 排序
|
||
- errcheck # error 忽略警告
|
||
- ineffassign # 無效賦值
|
||
- unused # 未使用變數
|
||
- bodyclose # HTTP body close
|
||
- gosimple # 靜態分析簡化警告(staticcheck 也包含,可選)
|
||
- typecheck # 型別檢查
|
||
- misspell # 拼字檢查
|
||
- gocritic # bug-prone code
|
||
- gosec # 資安檢查
|
||
- prealloc # slice/array 預分配
|
||
- unparam # 未使用參數
|
||
|
||
issues:
|
||
exclude-rules:
|
||
- path: _test\.go
|
||
linters:
|
||
- funlen
|
||
- goconst
|
||
- cyclop
|
||
- gocognit
|
||
- lll
|
||
- wrapcheck
|
||
- contextcheck
|
||
|
||
linters-settings:
|
||
revive:
|
||
severity: warning
|
||
rules:
|
||
- name: blank-imports
|
||
severity: error
|
||
gofmt:
|
||
simplify: true
|
||
lll:
|
||
line-length: 140
|
||
|
||
# 可自訂目錄忽略(視專案需求加上)
|
||
# skip-dirs:
|
||
# - vendor
|
||
# - third_party
|
||
|
||
# 可以設定本機與 CI 上都一致
|
||
# env:
|
||
# GOLANGCI_LINT_CACHE: ".golangci-lint-cache"
|