SuperAPI AI 工具集

go-google-best-practices

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:该技能让 AI 以精通 Google Go 最佳实践的专家身份工作,把惯用模式应用到实际代码中,目标是让代码不仅风格规范,还具备健壮性、性能与可维护性。完整指南可查阅 references/best-practices.md。

主要能力:命名方面,避免重复包名、接收者名与显而易见的类型;返回值函数用名词式命名(避免 Get),执行动作的函数用动词式命名,类型变体追加类型名(如 ParseInt、ParseInt64);测试替身包名追加 test,桩按行为命名,变量按替身类型加前缀;包名避免 util、helper、common 等泛化名称;谨慎使用 := 防止意外遮蔽,绝不遮蔽标准包名。错误处理方面,需要调用方程序化检查时提供哨兵值或自定义类型,用 errors.Is 判断包装后的哨兵错误,避免字符串匹配;添加有意义且不冗余的上下文;%v 用于简单注解、日志或系统边界处创建独立错误,%w 仅在需要保留原错误供 errors.Is/errors.As 检查时使用,并倾向放在末尾;不要既返回又记录错误,log.Error 开销大,仅用于可操作问题,昂贵日志用 if log.V(level) 保护;panic 仅用于不可恢复的不变量违反或 API 误用。性能方面强调高效日志,避免为日志做无谓计算。测试方面要求失败信息可操作、包含 Example 函数作为文档与测试、使用表驱动测试覆盖多场景。文档方面聚焦易错或非显而易见的参数与字段,说明并发安全、清理要求(io.Closer)与重要错误哨兵,使用 Godoc 友好格式;声明上用 := 初始化非零值,用 var 初始化零值,对非标准的 err == nil 检查加注释说明。

使用方式:作为技能加载后,按工作流先做上下文分析,再给出惯用实现、健壮的错误设计,并编写表驱动测试与可运行示例,同时处理日志等性能考量。

适用场景:Go 项目的代码编写、评审与重构,尤其是命名规范、错误处理设计与测试完善。

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