<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anti-Patterns on PlumePHP</title><link>https://plumephp.com/tags/anti-patterns/</link><description>Recent content in Anti-Patterns on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 30 Aug 2025 15:40:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/anti-patterns/index.xml" rel="self" type="application/rss+xml"/><item><title>Go 反模式：常见陷阱与最佳实践</title><link>https://plumephp.com/98-go-anti-patterns/</link><pubDate>Sat, 30 Aug 2025 15:40:00 +0800</pubDate><guid>https://plumephp.com/98-go-anti-patterns/</guid><description>&lt;h1 id="go-反模式常见陷阱与最佳实践"&gt;Go 反模式：常见陷阱与最佳实践&lt;/h1&gt;
&lt;p&gt;你是否遇到过这样的代码：一个函数返回 &lt;code&gt;(T, error)&lt;/code&gt;，调用方却写了一堆 &lt;code&gt;if err != nil { return err }&lt;/code&gt; 把错误直接吞掉；一个 &lt;code&gt;Service&lt;/code&gt; 接口塞了 20 个方法，谁都不敢改；满屏 &lt;code&gt;go func()&lt;/code&gt; 却没有等待机制，主进程退出时一堆 goroutine 还在后台游荡；为了&amp;quot;性能&amp;quot;手动拼字符串，结果 benchmark 一跑比 &lt;code&gt;strings.Builder&lt;/code&gt; 慢 10 倍。&lt;/p&gt;</description></item></channel></rss>