<?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 Cooper&#39;s Blog</title>
    <link>https://www.wsqyouth.cn/tags/project-review/</link>
    <description>Recent content in 项目复盘 on Cooper&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>Coopers</managingEditor>
    <atom:link href="https://www.wsqyouth.cn/tags/project-review/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Claude Code 的 Spec Coding 项目实战总结</title>
      <link>https://www.wsqyouth.cn/2026/03/13/claude-code-spec-coding-review/</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://www.wsqyouth.cn/2026/03/13/claude-code-spec-coding-review/</guid>
      <description>&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;在自己的项目中使用了 Spec Coding，但需要更好的组织和复盘&lt;/li&gt;
&lt;li&gt;参考了得物技术的分享文章：&lt;a href=&#34;https://mp.weixin.qq.com/s/1Oi7YhMgcPp9gQAWPndXWA&#34;&gt;AI 编程能力边界探索：基于 Claude Code 的 Spec Coding 项目实战｜得物技术&lt;/a&gt;，结合该文章对自己的项目进行了记录和复盘思考&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;一概述&#34;&gt;一、概述&lt;/h3&gt;
&lt;p&gt;10 天时间，完成了 10,428 行代码的开发。基于 Claude Code 的 Spec Coding 方法，不仅实现了从 0 到 1 的前后端项目搭建，更学会了规范编程，摸清了 AI 编程的真实能力边界。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 统计 Go/JS 文件行数，排除 frontend/node_modules 目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find . -type f &lt;span class=&#34;se&#34;&gt;\(&lt;/span&gt; -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;*.go&amp;#34;&lt;/span&gt; -o -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;*.js&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\)&lt;/span&gt; -not -path &lt;span class=&#34;s2&#34;&gt;&amp;#34;./frontend/node_modules/*&amp;#34;&lt;/span&gt; -exec wc -l &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; +
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;什么是 Spec Coding&lt;/strong&gt;：在写代码之前，先编写规范文档。
&lt;strong&gt;价值体现&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;减少返工&lt;/li&gt;
&lt;li&gt;特别适合复杂功能开发，能让 AI 更聚焦当前 story 的实现&lt;/li&gt;
&lt;li&gt;可审计性：每一个变更都有记录，方便审计
&lt;img alt=&#34;Spec Coding 工作流程&#34; loading=&#34;lazy&#34; src=&#34;https://www.wsqyouth.cn/2026/03/13/claude-code-spec-coding-review/spec-coding-workflow.png&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI 复盘&lt;/strong&gt;：可以让 Claude Code 对.jsonnl 会话文件进行整体数据统计，揭示 AI 的工作模式：xx 次文件读取、xx 次代码编辑、xx 次终端命令执行，以及 xx 次任务进度标记。（这个我没做，后续记得使用）&lt;/p&gt;
&lt;h3 id=&#34;二研发过程&#34;&gt;二、研发过程&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;设计阶段&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PRD：对齐需求，也是后续 AI 生成代码的重要参考&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;项目框架搭建&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主要让 AI 充当架构师角色，围绕提供的框架要求完善技术栈、组件选型、代码架构设计等&lt;/li&gt;
&lt;li&gt;目标是搭建完整的项目框架，配置好开发环境，确保基本编译通过&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;功能开发&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开发强度最高的阶段&lt;/li&gt;
&lt;li&gt;引入 Spec Coding，先与 AI 共同定义清楚每个 story 的规范和方案&lt;/li&gt;
&lt;li&gt;AI 基于这份&amp;quot;契约&amp;quot;完成编码&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;调试与压测&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;重心转向功能迭代、系统重构和压测&lt;/li&gt;
&lt;li&gt;与 AI 协作完成已有功能优化：
&lt;ul&gt;
&lt;li&gt;前端：例如添加邮箱账号切换功能，订单列表数据从 mock 数据改为调用真实后端接口&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;后端：技术债务处理（部分接口字段格式不统一、json 字段设计不合理、异步消费架构设计问题）&lt;/li&gt;
&lt;li&gt;性能强化：通过压测和火焰图观测，修复暴露的问题&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;生产环境部署&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在云服务器安装 docker 及相关组件&lt;/li&gt;
&lt;li&gt;通过 scp 等方式上传本地二进制文件及配置文件&lt;/li&gt;
&lt;li&gt;安装 HTTPS 访问所需的证书&lt;/li&gt;
&lt;li&gt;经过与 AI 多轮分析，最终将整个功能部署上线&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;三思考&#34;&gt;三、思考&lt;/h3&gt;
&lt;p&gt;整个 AI 开发过程中的关键点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;CLAUDE.md 及相关文件&lt;/strong&gt;：需要渐进性加载，将规范、经验和开发流程规范放入其中，这样 AI 才能更理解需求&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;示范文件提供&lt;/strong&gt;：在编写单元测试时，将之前的 TDD 编程示例提供给 AI 后，AI 能够按照参考完成所有核心文件的单元测试撰写&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;遇到的问题&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;AI 会无条件服从，有时甚至过度阿谀奉承，需要保持警惕（例如你说有问题它就考虑有问题，你说好它就说好）&lt;/li&gt;
&lt;li&gt;AI 设计的方案有时会过于繁杂臃肿，缺乏高质量工程师的代码品味（例如在添加链路追踪功能时，AI 最初设计了业务侵入严重的方案，直到明确指出&amp;quot;核心原则是进程内通过 context 传递，进程之间通过 body metadata 传递&amp;quot;，AI 才意识到开源库 OpenTelemetry 也采用类似思想）&lt;/li&gt;
&lt;li&gt;AI 存在上下文丢失和压缩问题，目前还没有非常好的解决方案（提炼经验信息也会丢失）&lt;/li&gt;
&lt;li&gt;实测发现 Claude 的 CodeReview 能力不是很强，后续可以考虑尝试 Codex 或 ChatGPT 模型&lt;/li&gt;
&lt;/ol&gt;
</description>
    </item>
  </channel>
</rss>
