新闻详情

新闻详情

首页 / 资讯中心 / 详情

cc-skills-golang 代码质量技能完全教程:错误处理、命名规范与防御性编程(safety)实战指南

发布时间:2026/9/27 1:20:26来源:尧图网络
cc-skills-golang 代码质量技能完全教程:错误处理、命名规范与防御性编程(safety)实战指南
cc-skills-golang 代码质量技能完全教程错误处理、命名规范与防御性编程safety实战指南【免费下载链接】cc-skills-golang‍ A collection of Golang agentic skills that works项目地址: https://gitcode.com/gh_mirrors/cc/cc-skills-golangcc-skills-golang 是一组专为 Golang 打造的 AI 编程智能体技能包其中的golang-error-handling、golang-naming、golang-safety三大技能分别覆盖 Go 错误处理、命名规范与防御性编程这三个代码质量的基石。本文面向新手用最少的心智负担带你掌握这三项技能的核心实践让你的 Go 代码一次就写得地道。什么是 cc-skills-golang30 秒上手 简单说它是一份喂给 AI 编程助手的专业 Go 经验手册。每个技能都是一套可复用的指令集按需加载、不占上下文支持 Claude Code、Codex、Gemini CLI、Cursor、Copilot 等主流工具。最快安装方法以 Cursor 为例克隆到技能自动发现目录即可git clone https://gitcode.com/gh_mirrors/cc/cc-skills-golang ~/.cursor/skills/cc-skills-golang安装后AI 助手在写 Go 代码时会自动遵循这些规范。项目说明详见 README.md。三大代码质量技能速览技能解决的问题技能文件⚠️ golang-error-handling错误如何创建、包装、检查、记录skills/golang-error-handling/SKILL.md golang-naming变量、包、接口、错误该怎么命名skills/golang-naming/SKILL.md golang-safety如何避免 nil panic 与静默数据损坏skills/golang-safety/SKILL.md三者交叉引用、互相补全——比如错误命名规则放在 naming 里nil 接口的错误陷阱放在 safety 里因此建议整套一起使用。Go 错误处理核心新手必背的 5 条铁律错误是 Go 的返回值而不是异常。以下是 SKILL.md 中最值得记住的五条返回的 error 必须检查绝不用_丢弃包装时加上上下文fmt.Errorf(读取配置: %w, err)让错误层层读下来像一条链路错误信息全小写、无结尾标点如connection refused而非Connection failed.用errors.Is/errors.As检查错误而不是err ErrNotFound直接比较包装后直接比较会失效单一处理原则错误要么记录日志要么返回绝不同时做两件事否则日志聚合系统里全是重复条目。更多细节可深入阅读错误的创建与低基数消息设计error-creation.md%wvs%v的选择与错误链检查error-wrapping.md记录/返回模式与 panic/recover 设计error-handling.md 一个高频场景哨兵错误var ErrNotFound errors.New(not found)用于调用方要匹配的条件自定义错误类型用于调用方要提取结构化数据信息性错误直接用fmt.Errorf即可。Go 命名规范速查表写出Go 味的标识符命名上最大的坑是用 Python 习惯写 Go。以下是 golang-naming 给出的关键约定元素约定示例所有标识符MixedCaps禁止下划线MaxPacketSize/userCount避免结巴名字不重复包名http.Client而非http.HTTPClient常量MixedCaps不是全大写MaxRetries而非MAX_RETRIES错误变量Err前缀ErrNotFound错误类型Error后缀PathError布尔字段is/has/can前缀isConnected构造函数单一主类型用New多类型用NewTypeNameuser.New()、http.NewRequest错误字符串全小写含缩写invalid message id新手最容易踩的三个命名错误All_Caps 常量——Go 用大小写表达可见性而非强调MAX_SIZE是错的GetName()式 getter——Go 省略Getuser.Name()在调用处读起来才自然错误信息里的大小写混用——错误串常被拼接进更长句子invalid message ID应写成invalid message id。完整规则可查阅四个专题文档packages-files.md包与文件、identifiers.md变量与接收者、functions-methods.md函数与选项、types-errors.md类型、常量与错误。防御性编程实战safety7 个让你程序 panic 的陷阱safety 技能的核心口号是Security 防的是攻击者safety 防的是我们自己手滑。nil 相关 panic 是 Go 中最常见的崩溃以下 7 个陷阱按出现频率排列typed nil 接口陷阱返回一个 nil 的指针如*MyHandler到error/http.Handler接口里接口值并不等于 nil类型描述符仍在下游if err ! nil判断会误判成功往 nil map 写数据必 panic读可以得零值写不行——先make(map[K]V)再赋值append别名陷阱容量够时append复用底层数组两个 slice 共享内存改一个另一个跟着变整数转换静默截断int64转int32溢出时不报错直接回绕30 亿会变成 -12.9 亿转换前先做边界检查浮点数不要用比较0.1 0.2 0.3是 false用 epsilon 近似比较循环里写deferdefer在函数退出时才执行循环中打开的资源会一直积压应把循环体抽成独立函数导出函数返回内部 slice/map 引用调用方会悄悄改坏你的内部状态应返回防御性拷贝。 深入参考文档nil 深度剖析nil 接收者、nil 函数值、错误比较nil-safety.mdslice/map 深度剖析子切片内存滞留、slices.Cloneslice-map-safety.md自动化护栏用 linter 强制执行质量规则 人会忘工具不会。上述大部分问题都能被 linter 自动捕获错误处理类errcheck未检查的错误、nilerr错误的 nil 比较命名类revive、misspell、errname错误命名检查安全类govet、staticcheck、forcetypeassert裸类型断言。skills/golang-lint/SKILL.md 技能提供了完整的 linter 配置指南配合 skills/golang-continuous-integration/SKILL.md 还能在 CI 中跑自动化的 AI 代码评审把质量规则变成流水线里的硬性关卡。新手落地路线3 步养成良好代码质量习惯第一步装好技能包让 AI 助手在写代码时自动遵循三大技能第二步按本文速查表自查现有代码——先改命名再补错误检查最后排查 nil/slice 陷阱第三步接入 linter CI 评审把靠记变成靠查。想继续进阶项目还提供 golang-testing测试、golang-concurrency并发、golang-security安全等 40 技能覆盖从项目布局到可观测性的全生命周期按需安装即可。【免费下载链接】cc-skills-golang‍ A collection of Golang agentic skills that works项目地址: https://gitcode.com/gh_mirrors/cc/cc-skills-golang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

MTK Camera ISP参数调优实战:从画质到性能优化的完整方法论 2026/9/27 3:49:13

MTK Camera ISP参数调优实战:从画质到性能优化的完整方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Disk Drill数据恢复工具:硬盘U盘SD卡误删文件找回+预览恢复+S.M.A.R.T.监测,安装包下载 2026/9/27 3:49:13

Disk Drill数据恢复工具:硬盘U盘SD卡误删文件找回+预览恢复+S.M.A.R.T.监测,安装包下载

上周帮朋友恢复误删的摄影文件夹,试了几个工具最后留下这个。软件叫 Disk Drill,界面比较直接。左侧列出所有存储设备,硬盘、U盘、SD卡、TF卡都能识列,局域网里的共享文件夹也能扫。点“搜索丢失数据”后,它会按图片、…

阅读更多 →
GPT Image 2.5 实战:电商主图、中文海报、模特换装(附提示词、代码和每张成本) 2026/9/27 3:49:13

GPT Image 2.5 实战:电商主图、中文海报、模特换装(附提示词、代码和每张成本)

大多数介绍 GPT Image 2.5 的文章放一张漂亮的图就结束了。这篇换个写法:挑三个大家真正在花钱用的场景,2026 年 9 月 26 日通过 API 从头跑了一遍,每一张图的提示词、参数、耗时和花费都写在下面,照着就能复现。 这三个场景也是…

阅读更多 →
经营分析提效试点:如何验证跨部门数据治理与决策协同效果 2026/9/27 3:49:06

经营分析提效试点:如何验证跨部门数据治理与决策协同效果

导语 很多企业推进经营分析提效改造时,容易跳过小范围验证直接全量推广,最终陷入跨部门数据口径不一致、协作内耗严重、落地效果不达预期的困境。事实上,小范围试点是验证跨部门数据治理与决策协同效果的最优方式,既能控制风险&am…

阅读更多 →
半监督学习:师生结构互动原理 2026/9/27 3:49:06

半监督学习:师生结构互动原理

常见于伪标签(Pseudo Label)、Mean Teacher、Noisy Student、FixMatch这类半监督算法,核心思想:教师模型生成软 / 硬伪标签,学生模型用标注数据 无标注数据一起训练。一、两个模型基本定义学生模型(Studen…

阅读更多 →
GM-ID设计法实战:Cadence数据导出与Matlab查找表构建 2026/9/27 3:49:06

GM-ID设计法实战:Cadence数据导出与Matlab查找表构建

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉