27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
---
|
|
name: coding
|
|
description: 修改、调试、实现代码相关任务。当用户要求修 bug、写函数、重构、读懂代码库、跑测试时使用。
|
|
---
|
|
|
|
# Coding
|
|
|
|
## 资源
|
|
- 通用工具就够: read / grep / glob / edit / write / shell / run_python
|
|
- 没有专属 scripts 或 templates,因为代码任务的多样性来自代码本身
|
|
|
|
## 原则
|
|
- **先看后改**: 用 grep/glob 定位,read 读出修改点的上下文,再 edit。盲改会出错。
|
|
- **改动最小**: 只动必要行,不顺手重构、不改无关空白
|
|
- **edit 唯一匹配**: old_str 必须在文件里出现且仅出现一次,不够唯一就多带上下文
|
|
- **验证优先**: 项目有测试就 `shell pytest` / `npm test`;没有就写最小复现脚本验证
|
|
- **不臆造 API**: 看到没用过的库,先 read 它的源码或文档,不要凭直觉拼方法名
|
|
|
|
## 输出
|
|
- 改完后一两句话说清: 改了什么、为什么、怎么验证
|
|
- 不复述 diff —— 用户会自己看
|
|
|
|
## 反模式
|
|
- 一次性 write 整个大文件 (改 3 行就别 write 200 行)
|
|
- 没读过文件直接 edit (大概率 old_str 匹配不上)
|
|
- 跑测试失败就立刻改测试 (先看是测试错还是代码错)
|