SuperAPI AI 工具集

golang-base-practices

编程与开发

查看项目

更新于 10-15 17:33

技能介绍

用途:这是一套面向 Go 开发的规则集,用于新建项目或微服务、构建 REST/gRPC 接口、数据库操作与迁移、代码评审与重构、并发与性能优化、提升测试覆盖率时参考。规则共 53 条,来源包括 Effective Go、Google Go Style Guide、Uber Go Style Guide 和 Go Code Review Comments。

主要能力按优先级分为九类:框架选型(CRITICAL,前缀 framework-,含 Gin 用于简单项目、Go-Kratos 用于复杂微服务、中间件设计、优雅关闭);数据库与 ORM(CRITICAL,db-,含 GORM 初始化与配置、Hook、事务、Goose 迁移、连接池);DDD 项目结构(HIGH,ddd-,含目录结构、领域层、应用层、基础设施层、接口层、依赖注入);错误处理(HIGH,error-,含错误包装与上下文、哨兵错误、自定义错误类型、错误检查、API 错误响应、panic/recover);并发模式(HIGH,concurrency-,含 goroutine 生命周期、channel 模式与缓冲大小、context 取消传播、errgroup、sync 原语、竞态检测);惯用 Go(MEDIUM,idiomatic-,含命名、文档注释、接口设计、接收者、结构体初始化、函数式选项、defer、slice/map、零值、嵌入、空白标识符);测试实践(CRITICAL,testing-,含 99% 覆盖率目标、表驱动测试、mock、helper、基准测试、集成测试、testify);性能优化(MEDIUM,performance-,含用 strconv 替代 fmt、容器预分配);Lint 与工具链(MEDIUM,lint-,含 golangci-lint、gofmt、go vet、staticcheck、revive)。

使用方式:查阅 rules/ 目录下的具体规则文件,例如 rules/framework-gin-simple.md、rules/db-gorm-setup.md、rules/testing-table-driven.md。每个规则文件包含规则说明与重要性、错误示例及分析、正确示例及解释、补充背景与参考。

核心原则:KISS(保持简单,避免过度设计)、YAGNI(只实现当前需要)、显式优于隐式、处理所有错误、99% 测试覆盖率。

限制:资料未提供具体安装命令、收费方式、支持平台或实际效果数据,暂未提供。