<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Refactoring on Tony Bai</title><link>https://tonybai.com/tags/refactoring/</link><description>Recent content in Refactoring on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Fri, 29 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/refactoring/index.xml" rel="self" type="application/rss+xml"/><item><title>Redis 之父吐槽现代前端的复杂性：我们到底是在解决问题，还是在制造问题？</title><link>https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity/</link><pubDate>Fri, 29 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity/</guid><description>本文永久链接 – https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity 大家好，我是Tony Bai。 曾几何时，Web 开发是一件极其纯粹且美好的事情。 在那个遥远的上世纪 90 年代末，你只需要写几个简单的 .html 文件，撒上一点 .css，再用几行 JavaScript 操纵一下表单，就...</description></item><item><title>别神话 Rust 重写了：搞定1%热路径，Go 性能照样起飞</title><link>https://tonybai.com/2026/05/18/go-performance-optimization-over-rust-rewrites/</link><pubDate>Mon, 18 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/18/go-performance-optimization-over-rust-rewrites/</guid><description>本文永久链接 – https://tonybai.com/2026/05/18/go-performance-optimization-over-rust-rewrites 大家好，我是Tony Bai。 近年来，如果你常年混迹于国内外各大技术社区，你一定会感受到一种近乎狂热的“政治正确”：**带垃圾回收（GC）的语言都有原罪，万物皆可（且应该）用 Rust 重写。** 从底层基础设施到上层业务逻...</description></item><item><title>别再瞎写 go.mod 了！一行 go 1.xx，竟藏着 7 个足以颠覆你认知的“秘密开关”</title><link>https://tonybai.com/2026/05/13/go-mod-hidden-features-7-secret-switches-in-go-version/</link><pubDate>Wed, 13 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/13/go-mod-hidden-features-7-secret-switches-in-go-version/</guid><description>本文永久链接 – https://tonybai.com/2026/05/13/go-mod-hidden-features-7-secret-switches-in-go-version 大家好，我是Tony Bai。 在这个“CV 工程师(复制粘贴工程师)”盛行的时代，很多 Go 开发者在新建项目时，不会使用go mod init来初始化一个模块，而是会熟练地从别的 go.mod 文件里，复制...</description></item><item><title>Go 代码设计的“第一天原则”：一份能让你少走五年弯路的实战模式清单</title><link>https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list/</guid><description>本文永久链接 – https://tonybai.com/2026/04/24/go-code-design-day-one-principle-practical-patterns-list 大家好，我是Tony Bai。 &amp;gt; 世界读书日送福利活动火热进行中，点击这里留言参与，赢取属于你的幸运！ 每一个 Go 开发者，大概都经历过这样的心路历程： 项目启动初期，为了追求“快”，我们怎么方便怎么来...</description></item><item><title>AI 时代，敏捷宣言已死？听听 Martin Fowler 和 Kent Beck 怎么说</title><link>https://tonybai.com/2026/04/12/agile-manifesto-dead-in-ai-era-martin-fowler-kent-beck/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/04/12/agile-manifesto-dead-in-ai-era-martin-fowler-kent-beck/</guid><description>本文永久链接 – https://tonybai.com/2026/04/12/agile-manifesto-dead-in-ai-era-martin-fowler-kent-beck 大家好，我是Tony Bai。 25 年前，在美国犹他州的一间滑雪小屋里，17 位当时最顶尖的软件开发者聚集一堂，共同签署了一份将彻底改变未来二十年软件工程形态的纲领——《敏捷软件开发宣言》。 在这 17 位“...</description></item><item><title>一天重写 JSONata，我用 400 美元干掉了公司 50 万美元的 K8s 集群</title><link>https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai/</guid><description>本文永久链接 – https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai 大家好，我是Tony Bai。 过去的几年，我们见证了 AI 编程工具从“玩具”到“神器”的进化。无数开发者都在分享自己效率翻倍的喜悦。 你有没有想过，用 AI 来完成一次“外科手术式”的精准重构，一天之内，就能帮你把公司每年烧掉的 50 万美元（约 ...</description></item><item><title>Go 微服务重构实录：当后端性能提升 10 倍，移动端体验为何反而崩塌？</title><link>https://tonybai.com/2026/02/13/go-microservices-refactoring-10x-backend-vs-mobile-collapse/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/02/13/go-microservices-refactoring-10x-backend-vs-mobile-collapse/</guid><description>本文永久链接 – https://tonybai.com/2026/02/13/go-microservices-refactoring-10x-backend-vs-mobile-collapse 大家好，我是Tony Bai。 在软件工程的世界里，“快”通常被视为绝对的褒义词。我们追求更低的延迟、更高的吞吐量、更少的 CPU 占用。当一个团队决定将遗留的 Python 单体应用重构为 Go 微...</description></item><item><title>从“手搓 Prompt”到“无限循环”：AI 编码的下一个形态是“Ralph”吗？</title><link>https://tonybai.com/2026/01/21/ai-coding-evolution-from-prompting-to-ralph/</link><pubDate>Wed, 21 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/21/ai-coding-evolution-from-prompting-to-ralph/</guid><description>本文永久链接 – https://tonybai.com/2026/01/21/ai-coding-evolution-from-prompting-to-ralph 大家好，我是Tony Bai。 “如果你把 AI 放在一个死循环里，给它足够的权限和上下文，会发生什么？” 2025 年底，一个名为 **“Ralph Wiggum Technique” (Ralph 循环)** 的 AI 编程技巧...</description></item><item><title>Go 语言的“反模式”清单：来自资深 Gopher 血泪教训的 10 条“不要做”</title><link>https://tonybai.com/2025/12/15/go-language-anti-patterns-10-donts/</link><pubDate>Mon, 15 Dec 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/12/15/go-language-anti-patterns-10-donts/</guid><description>本文永久链接 – https://tonybai.com/2025/12/15/go-language-anti-patterns-10-donts 大家好，我是Tony Bai。 “有哪些‘不要做’的教训，是你花了好几年才学会的？” 近日，在 r/golang 社区，这个简单的问题，引爆了一场关于 Go 语言“反模式”与“最佳实践”的集体反思。帖子下数百条评论，汇集了无数 Gopher 在真实项...</description></item><item><title>只为那一抹释然</title><link>https://tonybai.com/2013/12/26/just-for-being-relieved/</link><pubDate>Thu, 26 Dec 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/12/26/just-for-being-relieved/</guid><description>_一切没有目标的努力，都是瞎忙活儿。_                                                     _\- Tony Bai_ 刚实施回来，就又投入到新工作中，到今天才有那么一点点时间写写这件事儿。 **\* 缘起** 我们的遗留系统性能一直不高，导致这一局面的因素有很多，比如最初设计和实现的“考虑不足”、后续维护人员的“随波逐流”甚至缺少勇气对影响性能...</description></item><item><title>代码是怎么腐化的</title><link>https://tonybai.com/2013/11/12/how-code-corrupt/</link><pubDate>Tue, 12 Nov 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/11/12/how-code-corrupt/</guid><description>_新三年，旧三年，修修补补又三年。                                                              — 中国俗语。_ 上面的这句俗语用来形容很多遗留软件系统(legacy software system)的现状是再合适不过了。 今天下午做了一下午的代码评审，对象是一个运行了7年的遗留系统。会上除了几处明显的代码逻辑错误我发言指了出来外，涉及...</description></item><item><title>在你重构之前</title><link>https://tonybai.com/2011/02/15/before-you-refactor/</link><pubDate>Tue, 15 Feb 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/02/15/before-you-refactor/</guid><description>本文翻译自&amp;#34;Before You Refactor&amp;#34;，来自于《97 Things Every Programmer Should Know》一书中的某个章节。 在某些时候，每个程序员都需要重构现有的代码。不过在你动手之前，请考虑一下下面的内容，因为这可以节省你和他人的大量时间（以及痛苦）。 · 重构开始的最好方式就是对现有代码库及其测试代码进行总结和评估。 这将帮助你理解现有代码的优点和不足，你也...</description></item><item><title>经典设计原则背后的本质</title><link>https://tonybai.com/2010/09/17/the-nature-of-some-classical-design-rules/</link><pubDate>Fri, 17 Sep 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/09/17/the-nature-of-some-classical-design-rules/</guid><description>近一段时间重读了一些经典书籍，诸如《敏捷软件开发：原则、模式与实践》、 《程序员修炼之道》、《Unix编程艺术》等。这些书中关于如何衡量或评价一个类或函数设计好坏的几个原则(Principle)让人印象深刻。《敏捷软件开发》中谈到了SRP、OCP、DIP; 程序员修炼之道则以DRY、“正交性”为话题展开;《Unix编程艺术》围绕紧凑性、SPOT、分离等阐述作者立场。这么多经典原则，如何学习把握？我...</description></item><item><title>一次函数设计讨论</title><link>https://tonybai.com/2010/09/02/an-discussion-on-function-design/</link><pubDate>Thu, 02 Sep 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/09/02/an-discussion-on-function-design/</guid><description>近期在考虑对底层函数库进行一些重构，今天下午花了两个小时考量现有的函数库的接口设计，发现目前函数库的实现存在着一个普遍的问题：与特定的内存分配实现耦合的太紧。 我们的应用是多进程结构的，并使用了共享内存这种最快捷的IPC机制，鉴于此很多同事在实现一些数据结构或者算法时可能只考虑到了我们常见的应用场景-多进程共享，而对非共享内存分配的情况考虑不足。那如何将目前某些库函数实现与内存分配之间的强耦合解开...</description></item><item><title>遇到系统的高可用性问题</title><link>https://tonybai.com/2006/04/25/a-problem-about-high-available-service/</link><pubDate>Tue, 25 Apr 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/04/25/a-problem-about-high-available-service/</guid><description>我也是直到最近才接触到&amp;#39;高可用性&amp;#39;这个词儿的，从我所在的项目需求角度出发，我理解&amp;#39;高可用性&amp;#39;就是在系统的外部依赖实体(如主数据库、主网络)等瘫痪了之后，系统仍然能正常的支撑业务的运行，当然系统自己宕掉了，那就没辙了^\_^。高可用性设计实际上就是在系统自身完好的情况下如何考虑其外部实体的设计以保证系统能持续的运行支撑下去，起码从我现在正在做的项目的角度来说是可以这样理解的。 目前我们的系统的高可用...</description></item><item><title>C语言也重构</title><link>https://tonybai.com/2006/03/28/c-refactoring/</link><pubDate>Tue, 28 Mar 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/03/28/c-refactoring/</guid><description>*所谓的重构是这样的一个过程：在不改变代码外在行为的前提下，对代码做出修改，以改进程序的内部结构。重构是一种有纪律的、经过训练的、有条不紊的程序整理方法，可以将整理过程中不小心引入错误的机率降到最低，本质上说，重构就是\[在代码写好之后改进它的设计]。*– Martin Fowler *重构，一种改善代码’体质’的方法’。* — 侯捷 *重构是上进程序员每天的进行式。是一项工程而不是靠着天份挥洒的...</description></item><item><title>学习重构</title><link>https://tonybai.com/2004/12/09/learn-refactoring/</link><pubDate>Thu, 09 Dec 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/12/09/learn-refactoring/</guid><description>DMC采用驱动开发的方式，这就意味着重构“Refactoring”是我要学习的对象。早在大三的时候就已经把那本经典的“Refactoring Improving the Design of Existing Code”英文版买到手了，但就是在买回来后的第n天，它就被“打入冷宫”了。 \* What Is Refactoring? Refactoring is the art of safely i...</description></item></channel></rss>