SuperAPI AI 工具集

pike-simplicity-first

通用与其它

查看项目

更新于 10-15 20:28

技能介绍

用途:该技能用于指导按 Rob Pike 风格编写 Go 代码。Pike 是 Go 的联合创造者,其核心主张是简洁即终极的精致,多数软件过于复杂。

主要能力与原则:简洁优先,能删则删;组合优于继承,通过嵌入类型与隐式接口实现;并发是一等公民,用 goroutine 与 channel 而非线程与锁;特性保持正交可组合。写作规范包括:始终使用 gofmt,函数短小专注,接口保持小(1 至 2 个方法),在调用处显式处理错误,自由使用 goroutine,通过 channel 通信而非共享内存,命名清晰如 userCount。禁止对抗 gofmt、使用无理由的 interface{}、用 _ 忽略错误、用 panic 处理常规错误、创建不知如何停止的 goroutine。

常见模式:用嵌入结构体做组合并委托方法;用 channel 代替互斥锁来协调(例如以 channel 实现计数器或工作队列,多个 worker 读取 jobs 并写入 results);拆分为 UserReader、UserWriter 等小接口并按需组合;错误作为值处理,用 fmt.Errorf 的 %w 包装、用 errors.New 定义哨兵错误并以 errors.Is 判断;让零值可用(如 nil 切片可直接 append,sync.Mutex 零值即未锁定)。

适用场景:Go 项目编码规范制定、代码审查、重构以减少复杂度、并发设计。

限制:资料未提供安装命令、许可证、价格、具体平台支持等信息,暂未提供。