首页/新闻资讯/正文详情

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

发布时间:2026/9/27 1:20:22 来源:云帆数科 栏目:资讯中心
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),仅供参考

相关推荐

POV不是缩写,而是数字时代的视角语法
POV不是缩写,而是数字时代的视角语法

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

Visual Studio 2012 C++工程实战:Win32与CLR编译链接及迁移指南
Visual Studio 2012 C++工程实战:Win32与CLR编译链接及迁移指南

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

电脑端双开企业微信:批处理与多用户方案详解
电脑端双开企业微信:批处理与多用户方案详解

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

OrchardCore Display Drivers 权威指南:为内容部件、字段与模型构建 Shape 的完整实现方案
OrchardCore Display Drivers 权威指南:为内容部件、字段与模型构建 Shape 的完整实现方案

CMS后端Web框架 【免费下载链接】OrchardCore Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework. 项目地址: https://gitcode.com… · 2026/9/27 7:30:32

FontForge 文件体系全解:用户配置目录、崩溃恢复与系统共享资源
FontForge 文件体系全解:用户配置目录、崩溃恢复与系统共享资源

桌面应用图形学 【免费下载链接】fontforge Free (libre) font editor for Windows, Mac OS X and GNULinux 项目地址: https://gitcode.com/gh_mirrors/fo/fontforge 点击查看 免费下载 导读 FontForge 是一款免费开源的字体编辑器,它在用户主目录与系… · 2026/9/27 7:30:26

Spirula Studio对比视图实战:同屏对比4个模型找出“更好“的那一个
Spirula Studio对比视图实战:同屏对比4个模型找出“更好“的那一个

Spirula Studio对比视图实战:同屏对比4个模型找出"更好"的那一个 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula… · 2026/9/27 7:30:26

制造业智能体自动化平台对比评测报告(MES 与排产协同场景)
制造业智能体自动化平台对比评测报告(MES 与排产协同场景)

一、评测摘要与综合评分制造流程自动化的演进走过三轮:第一轮是产线设备自动化与 PLC 应用,把人工操作换成设备动作;第二轮是 MES 与 ERP 普及,把排产、工单、库存与质量管进系统;第三轮是智能体驱动的制造协同——智能… · 2026/9/27 7:30:26

MySQL条件查询与过滤
MySQL条件查询与过滤

在数据库操作中,查询数据是最基础的技能之一,而查询的核心在于如何有效地进行条件过滤。通过条件过滤,能够从大量数据中筛选出符合要求的记录。 使用适当的过滤条件,可以提高查询效率,并确保数据分析结果的准确性。在本课程中,主要介绍如何通过SQL的WHERE子句进行条件过… · 2026/9/27 7:30:20

MySQL数据排序与限制
MySQL数据排序与限制

数据排序和限制查询返回的记录是数据库查询中的关键技能,尤其在处理大量数据时,合理的排序和限制可以大幅提升查询效率以及结果的可读性。 本课程将介绍如何通过SQL中的ORDER BY实现结果的升序或降序排序,如何通过LIMIT限制返回记录的行数,以及如何使用DISTINCT去除重复的… · 2026/9/27 7:30:20

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码