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,32 @@
# Module Logging — Delta
## MODIFIED Requirements
### Requirement: 禁止全局 logger
系统 SHALL 禁止在业务代码中使用全局 logger并通过 lint 工具强制执行。
#### Scenario: 移除 zap.L() 调用
- **WHEN** 重构现有代码
- **THEN** SHALL 移除所有 `zap.L()` 调用
- **THEN** SHALL 通过构造函数注入 logger
- **THEN** 允许仅在测试代码中使用 `zap.L()``zap.NewNop()`
#### Scenario: 移除 zap.L() fallback
- **WHEN** 构造函数 logger 参数为 nil
- **THEN** SHALL NOT 使用 `zap.L()` 作为默认值
- **THEN** 调用方 SHALL 必须传入有效的 logger
#### Scenario: lint 自动拦截 zap.L()
- **WHEN** 正式代码中新增 `zap.L()` 调用
- **THEN** forbidigo SHALL 检测并报错
- **THEN** git commit SHALL 被拒绝
#### Scenario: 禁止 fmt/os.Stderr 直接输出
- **WHEN** 正式代码中使用 fmt.Print*、fmt.Fprintf(os.Stderr, ...) 等直接输出
- **THEN** forbidigo SHALL 检测并报错
- **THEN** SHALL 使用注入的 zap logger 替代