<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>工作方法 · Hugox</title>
    <link>http://localhost:1313/tags/%E5%B7%A5%E4%BD%9C%E6%96%B9%E6%B3%95/</link>
    <description>记录技术、阅读与日常观察。</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
      <lastBuildDate>Wed, 22 Jul 2026 17:10:00 &#43;0800</lastBuildDate>
      <atom:link href="http://localhost:1313/tags/%E5%B7%A5%E4%BD%9C%E6%96%B9%E6%B3%95/index.xml" rel="self" type="application/rss+xml" />
      <item>
        <title>缓慢工作的形状：在持续变化的世界里保留注意力</title>
        <link>http://localhost:1313/posts/the-shape-of-slow-work/</link>
        <pubDate>Wed, 22 Jul 2026 17:10:00 &#43;0800</pubDate>
        <guid isPermaLink="true">http://localhost:1313/posts/the-shape-of-slow-work/</guid>
        <description>&lt;p&gt;我们很容易把速度理解成一种单一能力：更快地回复消息，更快地完成任务，更快地把想法变成可见的结果。然而，真正决定一项工作能否长期存在的，往往不是最初完成得有多快，而是在变化不断发生之后，它是否仍然清楚、可靠，并且允许后来的人继续前进。&lt;/p&gt;&#xA;&lt;p&gt;缓慢工作并不意味着拖延，也不意味着拒绝效率。它是一种对注意力的主动安排：在需要判断的地方停下来，在可以复用的地方建立结构，在结果尚不确定的时候保留修正的空间。它关心的不只是今天完成了什么，也关心明天是否还能理解今天的决定。&lt;/p&gt;&#xA;&lt;h2 id=&#34;速度并不是时间的反义词&#34;&gt;速度并不是时间的反义词&lt;/h2&gt;&#xA;&lt;p&gt;一件事情看起来完成了，不代表它真正结束了。仓促写下的代码可能在上线后变成长期维护成本；没有说明背景的文档可能在半年后制造新的误解；为了赶进度而跳过的验证，往往只是在把检查工作推迟到更昂贵的阶段。&lt;/p&gt;&#xA;&lt;p&gt;因此，衡量速度不能只看交付时刻，还要看一个结果从产生到稳定所经历的完整周期。如果一项工作需要反复返工、解释和补救，那么最初节省的时间通常只是暂时借来的。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;真正的快，不是比别人更早离开起点，而是更少走进那些必须原路返回的岔路。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;这并不要求每个决定都经过漫长讨论。恰恰相反，好的节奏来自对决定类型的区分：容易撤销的决定可以迅速行动，难以撤销的决定则需要更多证据。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;决定类型&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;撤销成本&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;合适的做法&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;修改局部文案&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;很低&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;直接尝试并观察&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;调整页面布局&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;较低&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;用真实内容验证&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;改变数据结构&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;较高&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;设计迁移与回滚&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;发布公共接口&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;很高&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;明确约束并记录原因&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;当注意力与风险匹配时，团队既不会在小事上无限争论，也不会在重要边界上草率行事。&lt;/p&gt;&#xA;&lt;h2 id=&#34;注意力是一种有限资源&#34;&gt;注意力是一种有限资源&lt;/h2&gt;&#xA;&lt;p&gt;一天中的时间看似均匀，注意力却不是。连续两个小时的完整思考，与被消息切成十二段的两个小时，并不具有相同价值。很多复杂问题需要我们先在头脑中建立一个模型，然后才能判断某个局部变化会带来什么影响。每一次打断，都可能让这个模型部分坍塌。&lt;/p&gt;&#xA;&lt;p&gt;这也是为什么“随时在线”并不等于高效协作。即时沟通适合处理真正紧急、需要快速同步的信息，但如果所有问题都进入同一条即时通道，重要工作就会被迫与每一个提示音竞争。&lt;/p&gt;&#xA;&lt;h3 id=&#34;给不同工作分配不同容器&#34;&gt;给不同工作分配不同容器&lt;/h3&gt;&#xA;&lt;p&gt;一种简单的做法，是根据工作所需的认知状态来安排环境：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;深度工作需要连续时间、明确目标和尽量少的入口。&lt;/li&gt;&#xA;&lt;li&gt;协作讨论需要共享上下文，以及可以被追踪的结论。&lt;/li&gt;&#xA;&lt;li&gt;日常处理适合集中完成，避免它们不断侵入主要任务。&lt;/li&gt;&#xA;&lt;li&gt;探索性工作需要允许失败，不应过早承诺确定结果。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;容器不是严格的时间表，而是一种边界。它告诉我们当前正在做什么，也提醒其他事情暂时不进入这里。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;上午：完成需要连续推理的核心工作&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;中午：处理邮件、评论和短任务&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;下午：协作、评审与验证&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;结束前：记录进展和下一步入口&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样的安排看起来并不激进，却能减少每天重新寻找状态的次数。&lt;/p&gt;&#xA;&lt;h2 id=&#34;清晰比聪明更容易延续&#34;&gt;清晰比聪明更容易延续&lt;/h2&gt;&#xA;&lt;p&gt;我们常常欣赏精巧的解决方案，因为它们展示了作者的能力。但一套需要反复解释才能使用的方案，很难在时间中保持稳定。真正耐久的系统通常没有那么戏剧化：命名与行为一致，边界可以被识别，失败发生时能够找到原因。&lt;/p&gt;&#xA;&lt;p&gt;清晰不是把所有复杂性抹平。有些领域本身就复杂，例如支付状态、权限继承、分布式一致性。好的设计会让这些必要的复杂性显露出来，同时尽量减少与问题无关的意外复杂性。&lt;/p&gt;&#xA;&lt;p&gt;下面是一段普通的配置。它没有追求技巧，但每项设置都表达了明确意图：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pagination&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;pagerSize&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;params&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;description&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;记录技术、阅读与日常观察。&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;dateFormat&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;2006 年 1 月 2 日&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;taxonomies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;tag&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;读者不需要猜测分页大小从哪里来，也不需要寻找隐藏在模板中的日期规则。透明的配置减少了理解系统时必须记住的例外。&lt;/p&gt;&#xA;&lt;h3 id=&#34;注释应当解释原因&#34;&gt;注释应当解释原因&lt;/h3&gt;&#xA;&lt;p&gt;如果一段注释只是把代码换一种语言重复，它很快就会变成噪音。更有价值的注释会保存无法从当前实现中直接推导出来的背景，例如为什么不能采用看似更简单的方案，或者某项约束来自哪个外部系统。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 使用 UTC 保存发布时间，避免部署地区变化后文章顺序发生漂移。&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;publishedAt&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;Now&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;().&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;UTC&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里重要的不是“调用了 &lt;code&gt;UTC&lt;/code&gt;”，代码已经表达了这一点。重要的是顺序稳定这一约束，它会帮助后来的人避免无意中恢复旧问题。&lt;/p&gt;&#xA;&lt;h2 id=&#34;维护不是创造的对立面&#34;&gt;维护不是创造的对立面&lt;/h2&gt;&#xA;&lt;p&gt;“新功能”容易被看见，“维护”则经常被描述成不得不做的后续工作。但对使用者来说，两者并没有清晰边界。页面是否快速、升级是否安全、数据能否保留、错误是否能够恢复，这些都构成产品本身。&lt;/p&gt;&#xA;&lt;p&gt;维护工作的价值常常体现在没有发生的事情上：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;一次迁移没有造成停机；&lt;/li&gt;&#xA;&lt;li&gt;一个错误在影响用户前被监控发现；&lt;/li&gt;&#xA;&lt;li&gt;一段旧代码被删除后，后续修改不再需要考虑双重路径；&lt;/li&gt;&#xA;&lt;li&gt;构建时间缩短，让修复能够更快抵达生产环境；&lt;/li&gt;&#xA;&lt;li&gt;文档保存了关键决定，使团队不必重复同一场讨论。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;因为这些结果缺少戏剧性，我们需要用更具体的语言描述它们。与其说“重构存储层”，不如说“让数据库迁移可以在不中断写入的情况下完成”。后者指出了用户和系统真正得到的能力。&lt;/p&gt;&#xA;&lt;h2 id=&#34;写作是整理判断的工具&#34;&gt;写作是整理判断的工具&lt;/h2&gt;&#xA;&lt;p&gt;写作不只是传播已经形成的观点。很多时候，观点是在写作过程中才真正形成的。一个模糊想法留在脑海里时，可以依靠直觉连接许多未说明的部分；一旦写到纸面上，缺失的前提、跳跃的推论和含混的词语就会暴露出来。&lt;/p&gt;&#xA;&lt;p&gt;因此，写作也是一种低成本的设计验证。它迫使我们回答：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;我试图解决的究竟是什么问题？&lt;/li&gt;&#xA;&lt;li&gt;哪些事实是已知的，哪些只是推测？&lt;/li&gt;&#xA;&lt;li&gt;这个方案依赖哪些条件？&lt;/li&gt;&#xA;&lt;li&gt;如果结果不符合预期，如何撤销或修正？&lt;/li&gt;&#xA;&lt;li&gt;谁会受到这个决定的影响？&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这些问题适用于文章，也适用于软件、流程和产品决策。&lt;/p&gt;&#xA;&lt;h3 id=&#34;文档应该保存决定而不是复制现状&#34;&gt;文档应该保存决定，而不是复制现状&lt;/h3&gt;&#xA;&lt;p&gt;现状可以从代码、配置和运行结果中读取，决定背后的理由却很容易消失。一份耐久的文档不必很长，但应当让未来的读者知道某个边界为何存在。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;决定：RSS 输出完整文章正文。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;原因：读者应当能够在订阅器中完成阅读，不必跳转网页。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;影响：订阅文件体积会增加，图片和代码块需要保持有效的 HTML 表达。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当约束发生变化时，这段记录也提供了重新评估的起点，而不是把旧选择变成无法质疑的传统。&lt;/p&gt;&#xA;&lt;h2 id=&#34;删除是一种重要的设计能力&#34;&gt;删除是一种重要的设计能力&lt;/h2&gt;&#xA;&lt;p&gt;增加功能会扩大系统能够做的事情，删除则减少系统必须同时解释的状态。每移除一条无用分支，测试、部署、文档和维护者就少考虑一种可能性。&lt;/p&gt;&#xA;&lt;p&gt;然而，安全删除比简单增加更需要证据。一个看似无人使用的入口，可能仍被外部脚本调用；一项已经关闭的功能，可能仍留下持久化数据；一个旧配置项，可能被用户当作稳定契约。&lt;/p&gt;&#xA;&lt;p&gt;删除前可以做一份简短检查：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;搜索仓库中的直接和间接引用；&lt;/li&gt;&#xA;&lt;li&gt;检查生产环境是否仍有真实使用；&lt;/li&gt;&#xA;&lt;li&gt;确认旧数据是否需要迁移；&lt;/li&gt;&#xA;&lt;li&gt;告知外部使用者变化范围；&lt;/li&gt;&#xA;&lt;li&gt;同时删除过期测试和文档；&lt;/li&gt;&#xA;&lt;li&gt;部署后观察关键指标。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;删除不是清理冲动，而是对系统边界的重新确认。&lt;/p&gt;&#xA;&lt;h2 id=&#34;性能需要明确预算&#34;&gt;性能需要明确预算&lt;/h2&gt;&#xA;&lt;p&gt;如果没有具体标准，“足够快”会变成不断变化的主观判断。性能预算的作用，是把偏好变成可验证的约束。它不一定适用于所有项目，但应该与产品场景相匹配。&lt;/p&gt;&#xA;&lt;p&gt;对于一个以阅读为主的静态站点，可以采用这样的预算：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;指标&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: right&#34;&gt;建议预算&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;初始 HTML&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: right&#34;&gt;压缩后小于 30 KB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;关键 CSS&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: right&#34;&gt;压缩后小于 20 KB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;JavaScript&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: right&#34;&gt;非必要时保持 0 KB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;首屏最大图片&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: right&#34;&gt;小于 250 KB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;500 篇文章构建时间&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: right&#34;&gt;小于 2 秒&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;预算并不意味着超过一字节就失败。它提供的是讨论基础：如果一个新能力需要额外成本，我们可以判断它是否值得，而不是在上线后才偶然发现代价。&lt;/p&gt;&#xA;&lt;h2 id=&#34;留出可以回来的入口&#34;&gt;留出可以回来的入口&lt;/h2&gt;&#xA;&lt;p&gt;长时间工作最困难的部分，往往不是继续，而是重新开始。昨天结束时没有留下线索，今天就需要再次阅读大量上下文，才能找回当时正在形成的判断。&lt;/p&gt;&#xA;&lt;p&gt;一个好的结束动作非常简单：记录已经确认的事实、当前未解决的问题，以及下一步最小可执行动作。例如：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gu&#34;&gt;## 当前状态&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 已确认数据读取没有错误&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 问题只出现在移动端布局&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 可能与 42rem 断点有关&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gu&#34;&gt;## 下一步&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;在 375px 宽度下检查文章列表的日期布局。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这份记录不是正式报告，而是留给未来自己的路标。它减少了重新进入工作所需的启动成本，也让协作者能够接续而不是从头猜测。&lt;/p&gt;&#xA;&lt;h2 id=&#34;长期主义是一系列短期动作&#34;&gt;长期主义是一系列短期动作&lt;/h2&gt;&#xA;&lt;p&gt;长期主义听起来像一种宏大立场，但它真正存在于日常细节里：是否为重要决定写下一句原因，是否在功能稳定后删除临时开关，是否愿意在上线前完成最后一次验证，是否给后来的人留下可以理解的命名。&lt;/p&gt;&#xA;&lt;p&gt;这些动作单独看都很小。它们不会立刻制造巨大的差异，却会持续改变系统未来的可修改性。一年之后，项目是变得越来越沉重，还是仍然允许人们从容地做出改变，往往取决于这些不显眼的选择。&lt;/p&gt;&#xA;&lt;p&gt;我们不需要预测所有未来，也不可能一次设计出永远正确的结构。更实际的目标，是让错误能够被发现，让决定能够被解释，让变化能够被撤销，让注意力能够回到真正重要的问题上。&lt;/p&gt;&#xA;&lt;p&gt;缓慢工作的价值最终不在于慢，而在于它保留了判断。它让速度不必以混乱为代价，让创造与维护不再彼此对立，也让我们完成的东西在离开当下之后，仍然拥有继续生长的可能。&lt;/p&gt;&#xA;</description>
      </item>
  </channel>
</rss>
