別再把 Java 塞進 Go 了:Spf13 拆解道地 Go 信仰,引導 AI 迴歸語言本質
深度解析了 spf13 的『Idiomatic Go』理念,反對將 Java/Spring Boot 的設計模式引入 Go,並指出其對 AI 編程智能體的影響,強調了 Go 的簡潔與可讀性,對 Go 開發者和 AI Agent 的程式碼訓練有重要指導意義。
Go 語言權威 Steve Francia (spf13) 嚴厲批評開發者與 AI 程式智能體,常將 Java/Spring Boot 模式引入 Go 並誤認為「最佳實踐」。他推出 go-skills 專案,旨在引導 AI 迴歸 道地 Go 寫法,避免生成披著 Go 外衣的 Java 模式程式碼。其核心理念為「清晰勝於巧妙」,強調 Go 程式碼應可預測、一致且易於理解,並主張「拿不準的時候,刪掉那層抽象」。
• spf13 闡明了 慣用 Go 語言 的幾大實踐,反對深度巢狀目錄、整潔架構式分層等反模式:
- 套件組織 應扁平化並以領域命名,避免依賴分層。
- 介面設計 強調「先寫具體類型,介面是被發現的」,並由消費者定義。
- 錯誤處理 視為應明確檢查與處理的「值」,而非異常。
- 併發 應利用 Channel 進行編排,避免手動管理 Worker Pool 或過度鎖定。
- 標準函式庫優先,善用 Go 1.21+ 的新特性如
slices、maps。 微軟 TypeScript 7.0 以 Go 重寫並實現 10 倍建構速度,印證了 spf13 關於 Go 在 AI 智能體時代 作為「天選語言」的判斷。
當 AI 取代人類成為高頻「寫作者」時,Go 語言在設計之初對「為閱讀優化」、「嚴格依賴管理」與「極致編譯速度」的堅持,完美契合了 AI 迭代對確定性、低上下文消耗的需求,使其成為此時代基礎設施與後端服務的首選。
來源:Tony Bai
閱讀原文 ↗另見:Tony Bai