SuperAPI AI 工具集

go-best-practices

写作与研究

查看项目

更新于 10-16 05:49

技能介绍

用途:该技能是 Go 开发的枢纽技能,当用户编写 Go 代码、询问 Go 模式、审查 Go 代码,或提出“最佳方式是什么”“如何组织结构”等问题时启用。其核心原则是“清晰胜于聪明”,让代码可读、可维护、可预测。

主要能力:提供三种模式。编码模式在编写新 Go 代码时应用相关模式;审查模式在审查 PR 时检查各类惯用法违规;审计模式在审计代码库时分派并行子代理到各专项技能领域。

速查规则:错误处理——每个错误只处理一次,记录或返回,不可两者兼有;接口——接受接口、返回结构体,从使用中发现接口;并发——每个 goroutine 都需要明确的退出机制;测试——测试行为而非实现,默认表驱动;代码组织——让结构与实际复杂度匹配;性能——先分析再优化,优化后再测量;调试——读错误、复现、追踪、再修复。

应避免的反模式:空接口 interface{} / any,尽量用具体类型;全局状态,优先依赖注入;裸返回,始终命名返回值;命名重复,user.UserService 应改为 user.Service;init() 函数,优先显式初始化;复杂构造函数,使用函数式选项模式;丢弃错误,绝不把错误赋给 _;记录并返回,错误只记录或只返回。

交叉引用:go-error-handling 处理错误创建、包装、检查与记录;go-interfaces 处理接口设计、规模与模式;go-concurrency 处理 goroutine、channel、同步原语与管道;go-testing 处理表驱动测试、测试替身与测试组织;go-code-organization 处理包、命名与项目布局;go-profiling-optimization 处理分析、基准测试与优化;systematic-debugging 处理根因分析与调试方法。

限制:资料未提供具体安装命令、收费、价格、平台或使用步骤,相关内容暂未提供。该技能由 Gopher Guides 培训材料驱动。