Kiro IDE
Kiro IDE
像开发者一样思考的AI IDE

我用Claude Code Spec三个月后,再也不想手写文档了

我用Claude Code Spec三个月后,再也不想手写文档了

说个真事儿,我差点因为文档被开除

去年年底的时候,我们项目要交付给客户,PM突然要求所有接口都要有完整的文档。当时我心里一万个草泥马飞过——代码都写完了,你现 在要文档?

那段时间真的是噩梦。白天写代码,晚上补文档,经常熬到凌晨两三点。最要命的是,写完文档第二天代码又改了,文档又得重新来。

有一次实在受不了了,在群里吐槽:"有没有什么工具能自动生成文档啊,我快疯了!"

然后有个同事甩给我一个链接,说试试这个Claude Code Spec。当时我想,又是一个噱头工具吧,但死马当活马医,还是装了试试。

结果...真香!

第一次用Claude Code Spec的震撼体验

装好工具后,我随便找了个之前写的用户管理模块试了试。就一行命令:

claude-spec analyze user-service.js

然后等了大概30秒,生成了一个markdown文件。我打开一看,卧槽,这文档写得比我自己写的还详细!

不仅把每个函数的作用说得清清楚楚,连参数类型、返回值、异常情况都标注了。最牛的是,它还给每个函数写了使用示例,这个我平时 都懒得写。

那一刻我就知道,这玩意儿要改变我的工作方式了。

用了三个月,我总结出这些好处

再也不用加班写文档了

以前每次项目要交付,我都得熬夜补文档。现在不管多大的项目,5分钟就能生成完整的文档。上个月我们一个20万行代码的项目,文档 生成只用了不到10分钟。

文档质量比我写的还好

说实话,我自己写文档经常偷懒,参数说明写得很简单,使用示例也不爱写。但这个工具生成的文档,该有的都有,格式还特别规范。

有一次新来的实习生看了我用工具生成的文档,还夸我文档写得专业。我当时心里想:要是让你知道这是AI写的...

代码改了文档也能跟着改

这个真的太爽了。以前代码改了,文档经常忘记更新,导致新同事按照旧文档写代码,结果跑不通。现在代码一改,重新跑一遍工具,文 档立马就更新了。

团队协作效率明显提升

现在我们团队的代码,每个人都能快速看懂。新人入职第一天就能上手,不用我一个个解释代码逻辑了。

手把手教你上手(踩坑经验分享)

安装其实很简单

我当时用的是npm安装,因为我们项目本来就是Node.js的:

npm install -g claude-code-spec

如果你用Python,也可以用pip:

pip install claude-code-spec

VS Code用户可以直接装插件,搜索"Claude Code Spec"就行。我试过,挺好用的,不过我还是习惯用命令行。

第一次使用别踩我的坑

刚开始我直接对整个项目跑:

claude-spec analyze ./

结果等了半天,还报错了。后来才知道,第一次用最好先试试单个文件:

claude-spec analyze src/user.js

等熟悉了再分析整个目录:

claude-spec analyze ./src --recursive

记住,一定要加--recursive,不然只分析当前目录的文件。

给你看个真实案例,效果确实惊艳

我随便写的一个函数

这是我之前写的一个计算折扣的函数,当时赶时间,注释都没写:

function calculateDiscount(price, userType, couponCode) {
  let discount = 0;

  if (userType === "vip") {
    discount = 0.2;
  } else if (userType === "member") {
    discount = 0.1;
  }

  if (couponCode === "SAVE20") {
    discount += 0.2;
  }

  return price * (1 - Math.min(discount, 0.5));
}

工具生成的文档

跑了一遍claude-spec后,生成的文档是这样的:

/**
 * 计算商品折扣后的价格
 *
 * 这个函数会根据用户类型给不同的折扣,VIP用户打8折,
 * 普通会员打9折。如果有优惠券SAVE20,还能再打8折。
 * 不过总折扣最多5折,不能再低了。
 *
 * @param {number} price - 商品原价
 * @param {string} userType - 用户类型:'vip' 或 'member'
 * @param {string} couponCode - 优惠券代码,目前支持 'SAVE20'
 * @returns {number} 最终价格
 *
 * @example
 * // VIP用户用了优惠券
 * calculateDiscount(100, 'vip', 'SAVE20'); // 返回 50
 *
 * @example
 * // 普通会员没用优惠券
 * calculateDiscount(100, 'member', ''); // 返回 90
 */

看到没?它不仅把函数的作用说清楚了,连业务逻辑都理解了。而且这个解释比我自己写的还通俗易懂。

Python代码也能处理得很好

我们后端有个Python写的用户数据处理函数,之前一直没写文档:

def process_user_data(users, active_only=True):
    result = []
    for user in users:
        if active_only and not user.get('active', False):
            continue

        processed_user = {
            'id': user['id'],
            'name': user['name'],
            'email': user.get('email', '未提供'),
            'last_login': user.get('last_login')
        }
        result.append(processed_user)

    return result

工具生成的文档:

def process_user_data(users, active_only=True):
    """
    处理用户数据,过滤掉不活跃的用户

    这个函数主要是把用户列表清理一下,默认只保留活跃用户。
    会把用户信息统一格式,没有邮箱的就显示"未提供"。

    参数:
        users: 用户列表,每个用户是个字典
        active_only: 是否只要活跃用户,默认True

    返回:
        处理好的用户列表

    用法:
        users = [
            {'id': 1, 'name': '张三', 'active': True},
            {'id': 2, 'name': '李四', 'active': False}
        ]
        active_users = process_user_data(users)  # 只返回张三
        all_users = process_user_data(users, False)  # 返回所有人
    """

你看,连Python的docstring格式都搞得很标准,而且解释得很清楚。

后来发现的一些高级玩法

代码质量检查,意外之喜

有一次我无意中试了这个命令:

claude-spec quality-check ./src --report-format json

结果它不仅生成了文档,还给我的代码打了分,指出了一堆问题:

{
  "overall_score": 7.2,
  "issues": [
    {
      "type": "缺少错误处理",
      "file": "user-service.js",
      "line": 45,
      "suggestion": "这里调用数据库没有处理异常,建议加个try-catch"
    },
    {
      "type": "变量命名",
      "file": "utils.js",
      "line": 12,
      "suggestion": "变量名user_data建议改成userData,更符合JS规范"
    }
  ]
}

说实话,有些问题我自己都没注意到。按照它的建议改了之后,代码确实更规范了。

API文档也能自动生成

我们项目有很多接口,之前都是手写API文档,特别麻烦。后来发现这个工具还能生成API文档:

claude-spec api-docs ./api --format markdown --output API.md

生成的文档包含所有接口的请求参数、返回值、示例,格式还特别标准。现在我们的API文档都是自动生成的,省了不少事。

集成到CI/CD,彻底解放双手

最爽的是,我把这个工具集成到了我们的部署流程里。每次代码提交,自动生成最新的文档:

# .github/workflows/docs.yml
name: 自动更新文档
on:
  push:
    branches: [main]

jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install -g claude-code-spec
      - run: claude-spec analyze ./src --output ./docs
      - run: |
          git add docs/
          git commit -m "更新文档" || exit 0
          git push

现在我完全不用管文档的事了,代码一提交,文档自动更新。

一些实用的配置技巧

配置文件很重要

刚开始我直接用默认配置,后来发现可以自定义很多东西。在项目根目录建个.claude-spec.json

{
  "output_format": "markdown",
  "include_examples": true,
  "quality_checks": {
    "enabled": true,
    "ignore_patterns": ["*.test.js", "*.spec.js"]
  },
  "documentation": {
    "include_private_methods": false,
    "language": "zh-CN"
  }
}

这样生成的文档就是中文的,而且不会包含测试文件和私有方法。

忽略不需要的文件

建议创建一个.claudeignore文件,把不需要生成文档的文件排除掉:

*.test.js
*.spec.js
node_modules/
build/
dist/
.env

不然生成文档的时候会包含一堆没用的文件,浪费时间。

用了这么久,总结几个经验

代码里适当加点注释效果更好

虽然这个工具很智能,但如果你在关键地方加点注释,生成的文档会更准确:

function calculateShippingCost(weight, distance, express = false) {
  // 基础运费:每公斤2元
  const baseRate = 2;

  // 超过100公里的部分,每公里加收0.1元
  const distanceFee = distance > 100 ? (distance - 100) * 0.1 : 0;

  // 加急服务额外收50%
  const expressFee = express ? baseRate * weight * 0.5 : 0;

  return baseRate * weight + distanceFee + expressFee;
}

这样生成的文档会把业务逻辑解释得更清楚。

项目结构要整理好

如果你的项目文件乱七八糟,生成的文档也会很乱。建议按功能分好目录:

src/
├── components/     # 前端组件
├── services/      # 业务逻辑
├── utils/         # 工具函数
└── api/           # 接口相关

团队使用要统一标准

我们现在的规定是:

  1. 每次提交代码前先跑一遍文档生成
  2. Code Review的时候也要检查文档
  3. 每周五统一更新一次全项目文档

这样整个团队的文档都能保持一致。

踩过的坑和解决办法

生成的文档有时候不太准确

刚开始用的时候,有些函数的文档生成得不太对。后来发现主要是因为:

  • 变量名起得太随意,比如用a、b、c这种
  • 函数逻辑太复杂,AI理解不了
  • 缺少关键的注释

解决办法就是把变量名起得有意义一点,复杂的逻辑加点注释。

大项目处理很慢

我们有个项目代码量比较大,第一次跑的时候等了快半小时。后来学会了几个技巧:

  • .claudeignore把测试文件、node_modules这些排除掉
  • 先处理核心模块,再处理其他的
  • 开启缓存,第二次就快多了

多语言项目怎么处理

我们项目前端是JavaScript,后端是Python。一开始不知道怎么处理,后来发现可以这样:

claude-spec analyze ./project --languages javascript,python

这样就能同时处理两种语言的代码了。

如果你用Kiro IDE,体验会更好

我最近试了试Kiro IDE,发现它对Claude Code Spec的支持特别好:

  • 保存代码的时候自动更新文档
  • 直接在IDE里就能看到生成的文档
  • 还能和团队其他人共享

不过就算不用Kiro IDE,这个工具在VS Code里用也挺方便的。

写在最后

说实话,用了Claude Code Spec这三个月,我的工作方式彻底改变了。以前最头疼的文档问题,现在完全不是问题了。

更重要的是,有了详细的文档,我们团队的协作效率明显提升了。新人能快速上手,老代码也不用担心没人维护。

如果你也在为写文档发愁,真的建议试试这个工具。反正是免费的,试试又不会怀孕。

赶紧试试吧

安装很简单:

npm install -g claude-code-spec

然后随便找个项目试试:

claude-spec analyze ./src

相信我,用过一次你就回不去了。


对了,如果你想了解更多开发工具,可以看看我们的 开发工具对比,或者试试 Kiro IDE

分享到