别再往 Go 里塞 Java 了:拆解 spf13 的 Idiomatic Go 信仰
随着 Go 语言的普及,大量带有 Java/Spring Boot 痕迹的过度抽象与分层设计(如 service/、repository/、复杂的 mock 框架等)被错误地包装为“Go 最佳实践”,甚至深刻污染了 AI 编程智能体的训练语料。为此,前 Google Go 核心团队成员、Cobra/Viper 作者 Steve Francia(spf13)开源了 go-skills 项目,旨在为 AI 和人类开发者提供一份硬核的“地道 Go(Idiomatic Go)”矫正教材。本文深度拆解了 spf13 的这套架构信仰,围绕“清晰胜于巧妙(Clear is better than clever)”的核心原则,详细梳理了包组织的扁平化策略、隐式接口的发现机制、将错误视为值处理、基于 Channel 而非 Mutex 的并发编排、极简的表驱动测试、泛型的克制使用,以及 Command-First 的 CLI 架构设计。文章指出,真正的 Go 工程哲学在于摒弃不必要的抽象层,充分利用强大的标准库,回归代码的可预测性与高可读性。这不仅是指导 AI 编程智能体的规范,更是每一位高级 Go 工程师必备的技术品味与代码审查心法。