mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-01 06:36:38 +08:00
5971e2a9ed
The committed golangci gate now reports 0 issues, so the previous lint_issues metric was saturated and could no longer measure progress. Measure debt against an immutable .auto/lint.ref.yaml snapshot that adds analyzers for genuine defects (panics, error unwrapping, dead stores, missing enum cases, method ordering, suppression hygiene) while excluding cosmetic churn (tagliatelle, wrapcheck). Guard enforces build, vet, tests, the Cordis architecture gate, and anti-cheat floors: the yardstick cannot be edited, the project gate may only be strengthened, nolint directives may only shrink, and no test may disappear.
61 lines
1.3 KiB
YAML
61 lines
1.3 KiB
YAML
version: "2"
|
|
|
|
run:
|
|
timeout: 5m
|
|
tests: false
|
|
|
|
linters:
|
|
default: none
|
|
enable:
|
|
# 基础检查
|
|
- govet
|
|
- staticcheck
|
|
- errcheck
|
|
- ineffassign
|
|
- unused
|
|
|
|
# 代码坏味道
|
|
- dupl # 重复代码
|
|
- mnd # 魔法数字
|
|
- goconst # 不必要的字符串常量
|
|
- cyclop # 包/函数复杂度
|
|
- nestif # if 嵌套太深
|
|
- maintidx # 维护性指数
|
|
- revive # 风格/命名/坏味道
|
|
- gocritic # 各类代码问题
|
|
- funlen # 函数过长
|
|
|
|
- gosec # 安全问题检查
|
|
- bodyclose # HTTP response body 没有正确关闭
|
|
- noctx # 没有传递 context.Context
|
|
- contextcheck # 其他检查
|
|
- sqlclosecheck # SQL rows 没有正确关闭
|
|
- unconvert # 不必要的类型转换
|
|
- nilerr # 函数返回 nil 错误
|
|
|
|
settings:
|
|
dupl:
|
|
threshold: 80
|
|
|
|
cyclop:
|
|
max-complexity: 20
|
|
package-average: 10
|
|
|
|
nestif:
|
|
min-complexity: 5
|
|
|
|
funlen:
|
|
lines: 200
|
|
statements: 100
|
|
|
|
mnd:
|
|
checks:
|
|
- argument
|
|
- condition
|
|
- return
|
|
|
|
|
|
# 完整上报所有问题(取消 golangci 默认 50/3 截断,保证 code-check 与度量真实)
|
|
issues:
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0 |