用途:对 Go 代码进行系统性审查,适用于完整 PR 评审、架构评估、测试质量分析,以及单个函数或文件的实现检查。审查前先了解变更目的、涉及的领域/包,以及是否影响核心业务逻辑、API 端点或测试。
主要能力:按需加载参考文件(teetsh-patterns.md、effective-go.md、common-mistakes.md、security.md),覆盖项目模式、通用最佳实践、常见反模式与安全审查。审查范围可按类型划分:完整 PR 覆盖架构、实现、测试与安全;架构审查关注包结构、接口、关注点分离与领域边界;测试审查关注测试质量、覆盖率及行为与实现的测试取向;单文件审查关注实现质量、命名与错误处理。
项目特定模式:函数抽象层级保持单一;相关数据用返回结构体替代多返回值;使用原生 Go 测试而非断言库;行为驱动测试检查结果而非实现;注释解释“为什么”而非“做什么”;多租户查询需包含 school_id;分析事件定义在 pkg/externals/tracker/client.go;REST 结构区分 domain/repo/service/handler。
Go 实践:错误处理并用上下文包装;正确的并发模式;接口使用遵循“接受接口、返回结构体”;用 defer 管理资源;遵循惯用命名。安全方面覆盖输入校验、防 SQL 注入(参数化查询)、bcrypt 密码哈希、crypto/rand 令牌生成、TLS 配置与授权检查。
输出方式:按 Critical Issues、Important Issues、Suggestions、Positive Feedback 分级组织反馈;每个问题说明 What、Why、How,并附修复代码与参考。多文件 PR 建议先看架构概览,再核心业务逻辑,再测试与支撑文件。
限制:不评论 gofmt 可处理的格式问题、项目模式之外的个人风格偏好、不影响功能或可维护性的细节,以及已在其他评论中提及的问题。审查后若发现重大问题,可总结主题并建议是否需要在合并前修改。该技能的中文界面、安装命令及具体运行方式暂未提供。