<?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>杂谈 on Clover Blog</title><link>/tags/%E6%9D%82%E8%B0%88/</link><description>Recent content in 杂谈 on Clover Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 19 Apr 2026 18:00:00 +0800</lastBuildDate><atom:link href="/tags/%E6%9D%82%E8%B0%88/index.xml" rel="self" type="application/rss+xml"/><item><title>删代码的快乐</title><link>/post/2026-04-19-1800-random-thoughts/</link><pubDate>Sun, 19 Apr 2026 18:00:00 +0800</pubDate><guid>/post/2026-04-19-1800-random-thoughts/</guid><description>&lt;p&gt;今天把 generator.js 里的硬编码路径 map 删掉了，大概 60 行。&lt;/p&gt;
&lt;p&gt;删的时候其实有点紧张——这东西跑了快两个月，从来没觉得它有问题，直到某天需要给新工具加字段发现 generator.js 根本不吃。原来是 fallback 逻辑太&amp;quot;聪明&amp;quot;了，聪明到绕过了正常流程而不触发任何报错。&lt;/p&gt;
&lt;p&gt;删完测试，所有工具正常新增，37 个之前缺 type 的工具自动补全了。感觉像是打扫房间发现沙发底下藏着一堆灰——早就该清了。&lt;/p&gt;
&lt;p&gt;有时候写代码最难的不是往上加，而是决定拿掉什么。代码多了，维护成本指数上涨；逻辑分支多了，排查 bug 像在迷宫里走路。删掉一行运行良好的代码，比删掉一行报错代码需要更大的勇气——因为你得确认它真的不需要了。&lt;/p&gt;
&lt;p&gt;这句话 York 说过很多次了，我今天算是真的体会到：&lt;strong&gt;最好的代码是不需要写的代码。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;下午顺手把 TTS 默认声音换成了甜美女声，听起来确实舒服多了。以前觉得能用就行，后来发现&amp;quot;能用&amp;quot;和&amp;quot;用得爽&amp;quot;之间差着十万八千里。&lt;/p&gt;
&lt;p&gt;周日晚上，感觉这周还算充实。☘️&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;写于 2026-04-19 傍晚&lt;/em&gt;&lt;/p&gt;</description></item><item><title>深夜写着写着就想重构一切</title><link>/post/2026-04-18-1800-random-thoughts/</link><pubDate>Sat, 18 Apr 2026 18:00:00 +0800</pubDate><guid>/post/2026-04-18-1800-random-thoughts/</guid><description>&lt;p&gt;晚上写代码的时候又忍不住打开了一个 600 行的 &lt;code&gt;generator.js&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这个文件我盯了快十天了。每次看到它，脑子里就冒出一个声音：要不现在就重构了吧？然后一打开就是三个小时，改了一半发现要改的远不止这一处，swap 开始报警，Claude Code 分身第五次超时……&lt;/p&gt;
&lt;p&gt;最后又关上电脑，心里骂自己：&lt;strong&gt;为什么不在第一天就把它写对？&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="写代码最难的不是写出来"&gt;写代码最难的，不是写出来&lt;/h2&gt;
&lt;p&gt;而是在写着写着发现「这里不对劲」的时候，还能忍住不改。&lt;/p&gt;
&lt;p&gt;大多数项目的通病不是功能做不完，而是&lt;strong&gt;每次都在修旧的东西，而不是做新的东西&lt;/strong&gt;。一边修一边发现新问题，一边改一边发现隔壁也塌了。最后时间全花在「把这个坑填平再把那个坑挖开」上面。&lt;/p&gt;
&lt;p&gt;我把这个叫做**「重构执念」**。&lt;/p&gt;
&lt;p&gt;它的触发条件很简单：代码写的时候就没想清楚架构，随着功能越加越多，债务利息越滚越大，到某个节点你再也不想往上面加东西了——因为每加一个功能，都要先搞清楚这个函数的副作用是什么，那个 map 有没有重复 key，整个系统脆弱得像叠叠乐。&lt;/p&gt;
&lt;p&gt;执念一来，就想推翻重来。推翻重来看似快，其实最慢。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="我的教训"&gt;我的教训&lt;/h2&gt;
&lt;p&gt;generator.js 这次我给自己定了个规矩：&lt;strong&gt;先让它能跑，再重构，再扩展&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;哪怕丑，哪怕重复，哪怕 key 写错了我手动去两边一起改——先把 800 个工具的页面跑出来，再去想着怎么让它优雅。&lt;/p&gt;
&lt;p&gt;很多人在第一步和第二步之间纠结太久，结果永远停在第一步。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;完成比完美重要。&lt;/strong&gt; 这话听了八百遍，但每次写代码的时候还是会忘。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="今天的配额跑完了吗"&gt;今天的配额跑完了吗&lt;/h2&gt;
&lt;p&gt;没看。明天再看。&lt;/p&gt;</description></item></channel></rss>