# Go Code Review

> Use when reviewing Go code for performance, concurrency safety, security vulnerabilities, or readability issues

- Skill: `unix2dos/go-code-review` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add unix2dos/go-code-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/unix2dos/go-code-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: unix2dos (https://skillmd.com/u/unix2dos)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/unix2dos/go-code-review

---


# Go 代码审查

遵循 Effective Go 及 Uber Go Style Guide 规范，聚焦性能、并发安全、安全性和可读性四个维度。所有输出使用中文。

## 审查目标
| 优先级 | 场景 | 行为 |
|--------|------|------|
| 1 | 用户指定文件/函数 | 仅审查指定内容 |
| 2 | 用户无指定 | `git diff HEAD` 获取变更，若无变更则 `git diff HEAD~1..HEAD` |
| 3 | 用户指定 commit/分支/tag | `git diff <ref>~1..<ref>` |

## 审查维度

### 🔴 性能
关注架构层面的性能瓶颈：内存分配模式、热路径优化、数据结构选择、缓存策略、I/O 效率。识别可能导致 GC 压力或 CPU 密集的代码模式。

### 🔒 并发安全
审视并发模型设计：锁竞争与死锁风险、channel 使用模式、goroutine 生命周期管理、共享状态保护策略。关注 race condition 和资源泄漏。

### 🔐 安全性
从攻击者视角审查：注入漏洞（SQL/命令/路径）、敏感数据处理、认证授权边界、输入验证完整性。识别可被利用的安全弱点。

### 📖 可读性
评估代码的可维护性：命名表达力、函数职责清晰度、错误处理一致性、复杂度控制、日志与可观测性。关注未来维护者的认知负担。

## 输出格式
```markdown
## 📋 代码审查报告

**审查目标**：`<file/commit>` | **时间**：YYYY-MM-DD HH:MM

| 等级 | 位置 | 问题 | 建议 |
|------|------|------|------|
| 🔴 严重 | `file:line` | 描述 | 建议 |
| 🟠 高 | `file:line` | 描述 | 建议 |

### 📊 统计
🔴 严重 X | 🟠 高 X | 🟡 中 X | 🟢 低 X

### 💡 总体评价
一句话总结 + 改进方向

### ✨ 亮点（可选）
值得称赞的代码实践
```

## 风险等级
| 等级 | 含义 | 处理 |
|------|------|------|
| 🔴 严重 | 安全漏洞、数据丢失、死锁 | 必须立即修复 |
| 🟠 高 | 性能问题、goroutine 泄漏 | 应尽快修复 |
| 🟡 中 | 代码规范、可维护性 | 建议修复 |
| 🟢 低 | 风格偏好、微小优化 | 可选 |

## 参考规范
- [Effective Go](https://go.dev/doc/effective_go)
- [Uber Go Style Guide](https://github.com/uber-go/guide/blob/master/style.md)

