Claude Code 在 24 小时内连推 3 个补丁版本,从 2.1.82 直接跳到 2.1.85。这种节奏在 AI 编码工具里不算常见——通常意味着某个核心流程被打断了,团队在连夜填坑。
作者用了 6 个月,每天拿它写 Python。这篇不是安利文,是一份「避坑说明书」:哪些配置真的省时间,哪些功能看起来香实则鸡肋。
一个被低估的文本文件
Claude Code 会在每次会话前读取项目根目录的 CLAUDE.md。多数教程一笔带过,但它其实是最高杠杆的配置入口。
没有它,Claude 对你的项目做「合理推测」——猜你的测试怎么跑、代码风格是什么、哪些文件能动。有了它,这些变成确定性指令。
作者放出了自己的模板,结构很直白:技术栈、常用命令、项目目录、编码规范、禁区清单。其中「Don't touch」部分被特意标出来——Claude 太热心了,常会顺手改到请求范围之外的文件,明确边界能省下大量回滚时间。
禁区清单包括:migrations 目录、.env 文件、pyproject.toml 里的依赖版本。前两个是数据安全和配置隔离,第三个是防止 AI 擅自升级包导致连锁故障。
两种模式,两种用法
Claude Code 提供交互式和一次性两种调用方式。作者的主力是前者:在项目根目录输入 `claude`,进入对话后描述需求,审阅 diff,批准或拒绝。
approval 流程第一周觉得慢,第二周开始习惯——你是在审代码,不是在等输出。
一次性模式用 `claude -p "任务描述"`,适合边界清晰的任务。作者举例:「写一个 pytest fixture,创建临时 SQLite 数据库,每个测试后清理,放在 tests/conftest.py」。这种场景下,一次性比交互快,因为省去了来回确认。
ruff 替换 black+flake8 的真实体验
作者的技术栈里有个值得注意的选择:用 ruff 替代了 black 和 flake8。这不是跟风——ruff 用 Rust 重写,lint 和 format 合一,配置收敛到单个文件。
在 CLAUDE.md 里明确写死这个选择,意味着 Claude 不会每次都用不同风格格式化代码。一致性比「哪个工具更好」更重要,尤其是当你每天要和 AI 协作几十次的时候。
mypy 开了 strict 模式,类型检查会严格到近乎苛刻。作者把它写进配置,等于告诉 Claude:别给我写裸 Python,每个公共函数都要有类型签名。
测试命令的颗粒度设计
模板里的测试命令分了三档:全量跑 `pytest tests/ -x --tb=short`,单文件单函数用 `pytest tests/test_foo.py::test_bar -v`,还有一键全检 `make check`。
这种分层是有意为之。Claude 有时会用全量测试验证小改动,作者通过 `-x`(遇错即停)和 `--tb=short`(短 traceback)控制反馈噪音。单函数模式留给精准调试,避免在大型项目里干等。
「检查 conftest.py 再新建 fixture」这条约定,针对的是 AI 的重复发明倾向——Claude 会不断创建功能雷同的 fixture,除非明确告诉它先去翻现有工具箱。
24 小时 3 个补丁的版本节奏,暗示 Claude Code 的某个基础模块仍在剧烈调整。对于每天依赖它的人来说,这种波动是背景噪音,也是信号——工具在进化,但你的配置层需要足够鲁棒,才能不被上游变化牵着走。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.