1
0

chore: 新增 backend-code-lint 变更计划,更新 .gitignore

This commit is contained in:
2026-04-24 00:19:56 +08:00
parent 1d7e839b49
commit 4c78ab6cc8
10 changed files with 539 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
## Why
项目复杂度增长后AI 编写代码时经常忽略基本编码规范(如使用指定日志工具、正确处理错误等)。依赖 prompt 约定是"软约束",无法可靠防止违规。需要引入静态分析工具,将编码规范从"约定"升级为"机器可检查的硬约束",在提交时自动拦截问题代码。
## What Changes
- 新增 `.golangci.yml` 配置文件,启用 13 个 linter 并配置项目专属规则
- 引入 lefthook 作为 Git hook 管理器,在 pre-commit 时自动运行 lint
- 修复存量代码中的规范违规(约 31 处)
- 解决 embedfs 模块导致 golangci-lint 无法运行的阻塞问题
- 更新 README.md 补充代码规范说明
## Capabilities
### New Capabilities
- `code-lint`: 后端代码静态分析规则配置,包括 13 个 linter 的启用、参数配置、测试/正式代码的差异化规则、生成代码排除等
- `pre-commit-hook`: 基于 lefthook 的 pre-commit hook 配置,提交时自动运行 lint 检查
### Modified Capabilities
- `module-logging`: 新增 zap.Error(err) 优于 zap.String("error", err.Error()) 的规范要求
- `error-handling`: 新增必须使用 errors.Is/As 而非直接 == 比较的强制要求
- `structured-logging`: 补充 zap.Error(err) 的使用约定
## Impact
- 新增开发依赖lefthook二进制工具不影响生产代码
- 修改文件:约 15 个 Go 源文件存量修复、README.md、Makefile
- 新增文件:`.golangci.yml``lefthook.yml``embedfs/assets/.gitkeep``embedfs/frontend-dist/.gitkeep`
- 开发流程影响git commit 时自动触发 lint 检查lint 不过则提交被拒绝