SuperAPI AI 工具集

writing-go-code

编程与开发

查看项目

更新于 10-16 01:29

技能介绍

用途:在编写或修改 Go 代码时套用该代码库的项目级编码规范,适用于实现函数、使用依赖注入、按惯用方式处理错误等场景。

主要能力与约定: 代码组织上,先定义结构体,紧随其后做接口校验(var _ Service = (*MyService)(nil)),再用构造函数注入依赖。依赖注入要求始终通过构造函数传入依赖,禁止在内部自行创建依赖。

Mock 使用 mockery 配合 moq 模板生成,重新生成全部 Mock 的命令为:mockery。Mock 类型以 Moq 为前缀(如 MoqLogger、MoqFileSystem),禁止手动编辑 Mock 文件。

可选类型使用 samber/mo 做更安全的 nil 处理,例如 mo.Option[string],通过 Get() 取值判断。

格式化要求:单行最长 120 字符;多参数时函数参数纵向对齐;逻辑段落之间插入空行;错误解包不要与相关代码用空行隔开,视为同一段落。

文档要求:类型与函数注释以句号结尾。

关键规则:尽量使用 Go 标准库,仅在必要时引入第三方库;已知大小时预分配 slice/map;将操作系统操作包装为接口以便 Mock。

配套技能:applying-effective-go 提供官方 Effective Go 的通用惯用法(命名、控制流、错误处理理念、并发模式);writing-go-tests 提供测试约定、Mock 用法、断言与命名,编写测试文件时应始终加载。

限制:资料未提供该技能的安装方式、适用平台、收费情况与具体版本要求,暂未提供。