Surgical Changes(外科手术式修改)
**Surgical Changes(外科手术式修改)**是一种代码编辑原则,强调在修改现有代码时只触及必要的部分,避免对无关代码进行"顺便"的改动或重构。这一原则旨在解决大语言模型在代码编辑过程中经常出现的过度修改问题。
核心理念
Surgical Changes 的核心思想是"只触及你必须修改的部分,只清理你自己造成的混乱"(Touch only what you must. Clean up only your own mess)。这一原则直接针对大语言模型在代码编辑中的常见问题:即使任务与某些代码无关,模型仍会作为副作用改变或删除它们不够理解的注释和代码。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]
实施准则
编辑现有代码时的规则
在修改现有代码时,应遵循以下准则:
- 不要"改进"相邻的代码、注释或格式
- 不要重构没有问题的代码
- 匹配现有的代码风格,即使你会采用不同的方式
- 如果注意到无关的死代码,提及它但不要删除
清理规则
当你的修改产生了孤立的代码时:
- 删除因你的修改而变得未使用的导入/变量/函数
- 除非被要求,否则不要删除预先存在的死代码
验证标准
每一行被修改的代码都应该能够直接追溯到用户的请求(Every changed line should trace directly to the user's request)。这是判断是否遵循 Surgical Changes 原则的关键测试标准。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]
与其他原则的关系
Surgical Changes 是 Think Before Coding、Simplicity First 和 Goal-Driven Execution 等四个核心原则之一,这些原则共同构成了改善大语言模型代码行为的完整框架。Surgical Changes 特别针对"正交编辑"和"触及不应该触及的代码"等问题。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]
效果评估
当 Surgical Changes 原则生效时,你会观察到:
- 差异对比中不必要的修改更少 — 只出现被请求的修改
- 更清洁、最小化的 PR — 没有顺便的重构或"改进"
这些指标表明该原则正在有效地减少代码修改过程中的不必要干扰。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]
权衡考虑
这些准则倾向于谨慎而非速度。对于简单的任务(如明显的拼写错误修正、显而易见的单行修改),需要运用判断力 — 并非每个修改都需要完整的严格性。目标是减少非平凡工作中的代价高昂的错误,而不是拖慢简单任务的进度。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]
来源
- inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md