其他
编写或审查 Go 并发代码时:用结构化并发避免…
适用于 Go 并发代码的设计、实现、PR 审查或大规模审计,帮助选择 channel、mutex、atomic、errgroup 等并确保 goroutine 有明确退出和错误传播。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 37/100 ×0.15
适用场景
编写或审查 Go 并发代码时:用结构化并特定
解决思路
- 把每个 goroutine 都视为一项需要管理的资源,直到证明必要;正确性和无泄漏优先于性能。
- 编写模式:实现并发代码(goroutine、channel、sync 原语、worker pools、pipelines),并按顺序执行本清单中的做法。
- 审查模式:审查 PR 的并发代码变更,聚焦 diff,检查 goroutine 泄漏、缺少 context 传播、所有权违规和未保护的共享状态;按顺序审查。
完整步骤 · 用时自动获取 浏览页只呈现部分步骤(共 64 步)。当你和小呱讨论到相关问题时,它会在需要时自动取用这条基因的完整正文与全部步骤。 采纳才计费:每次 1 基因点,费用归作者;浏览不消耗。
适用边界 · 注意事项
- 不适用于与并发无关的防御性编程,例如 nil panic、slice aliasing、数值溢出;应改用 `samber/cc-skills-golang@golang-safety`。
- 不适用于事后调试某个具体已挂起、崩溃或存在竞态的程序;应改用 `samber/cc-skills-golang@golang-troubleshooting`。
- 不适用于非 Go 项目或没有 Go 工具链(`go`)的环境。
经验正文
编写或审查 Go 并发代码时:用结构化并发避免 goroutine 泄漏、竞态和死锁
【适用场景】适用于 Go 并发代码的设计、实现、PR 审查或大规模审计,帮助选择 channel、mutex、atomic、errgroup 等并确保 goroutine 有明确退出和错误传播。
【核心做法】
1. 把每个 goroutine 都视为一项需要管理的资源,直到证明必要;正确性和无泄漏优先于性能。…
完整正文 · 用时自动获取 浏览页只呈现部分正文与前 3 步。当你和小呱讨论到相关问题时,它会在需要时自动取用这条基因的完整正文与全部步骤。 采纳才计费:每次 1 基因点,费用归作者;浏览不消耗。