mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-13 10:26:38 +08:00
chore(quality): 会话收尾 — 更新 prompt/ideas 记录 14 个实验结论与刻意保留项
This commit is contained in:
+28
-8
@@ -1,10 +1,30 @@
|
||||
# Ideas backlog (代码质量)
|
||||
|
||||
- 后端 204 个 *_test.go 被 repo golangci 配置 `tests: false` 跳过;可以用
|
||||
testifylint/usetesting/paralleltest 等对测试代码做一次质量扫描(当前基准不含测试,属于后续深化方向)。
|
||||
- biome check 发现 76 处(基本全是格式漂移);repo 只跑 format 不跑 check。
|
||||
可作为独立的一次性格式化提交处理,不进基准(避免纯格式噪声污染 metric)。
|
||||
- repo `make code-check` 还有 `make format`(goimports + biome)契约:迭代中保持已改文件格式化干净。
|
||||
- 观察 go vet 已启用但 `unusedresult`/`copylocks` 等子检查默认关闭;若需要可考虑仅作发现用,不进基准。
|
||||
- errorlint 修复中有 4 处 `err != context.Canceled`,若 runner 实际从不 wrap,
|
||||
用 errors.Is 是更稳妥的最佳实践,且语义不变 —— 已验证三处 cmd 入口同构。
|
||||
## 已尝试并收尾(2026-08-16 会话,14 个实验,108→8)
|
||||
|
||||
- 生产代码 golangci 扩展集 13 类 linter 全量清理(modernize/perfsprint/
|
||||
errorlint/canonicalheader/usestdlibvars/intrange/wastedassign/errname/
|
||||
forcetypeassert/prealloc/gosec/recvcheck/exhaustive),剩余 8 处全部为
|
||||
有据可查的刻意保留项(telegram %v、3 处嵌套 struct omitempty、
|
||||
3 处 not-found 惯例、1 处 encoding/json 接收者混合)。
|
||||
- 测试代码质量维度(testifylint/usetesting/thelper)25→0。
|
||||
- 前端 eslint/tsc 0。
|
||||
- 修复中积累的工具经验:golangci-lint v2 `--fix` 的 import 管理不可靠,
|
||||
跑完必须 `goimports -w`;`--max-issues-per-linter=0` 才能拿到全量清单
|
||||
(默认 50 + max-same-issues=3 会掩盖重复模式);cyclop 与 exhaustive
|
||||
有张力(显式 case 计入复杂度)。
|
||||
|
||||
## 未来可深化方向(均经评估)
|
||||
|
||||
- 测试可运行性修复:`go test ./internal/...` 目前在 main 上就有失败
|
||||
(无本地 redis、frpc 进程测试 flaky)。修复这些环境问题后,可以把
|
||||
`go test` 加入 checks.sh,解锁 paralleltest/tparallel 维度
|
||||
(t.Parallel 提速 + 正确性,目前因共享状态+不可运行而放弃)。
|
||||
- frontend biome 格式漂移(76 文件):一次性 `make format` 提交,
|
||||
与质量修复分开做,不进基准。
|
||||
- fieldalignment:结构体内存布局优化,但会改变 JSON key 顺序且有
|
||||
位置字面量风险 —— 若做,需按文件人工核对,不进自动基准。
|
||||
- Go 1.26 新特性扫描:`go vet` 新分析器、golangci-lint 新 linter
|
||||
(如 recvcheck 之后的 new receivers 检查)随版本跟进。
|
||||
- 文档/示例代码(docs/、scripts/)质量:目前不在 golangci 范围(tests:false
|
||||
之外还有 scripts 目录),可用同一扩展集扫 scripts/ 下的 main.go。
|
||||
|
||||
Reference in New Issue
Block a user