用途
ds-explain 用于对一段代码给出通俗、完整的解释,让读者明白它是什么、如何运行、为什么呈现当前形态,从而能更有把握地修改它。适合“X 如何工作”“为什么这样写”一类问题,也可用于代码审阅、调试或新人熟悉代码。
主要能力
- 先判断读者需求:结合对话上下文,识别读者是要修改、审阅、调试代码,还是初次接触,从而决定应让读者记住的三到四件事,跳过其已知内容。
- 按规模选择方式:单个函数做一次通读即可;跨多个文件的子系统可派出两到四个只读并行的子代理,各负责一个角度,再合并结果。
- 解释运作方式:阅读实际代码,从入口点追踪主要运行路径直至产生效果,说明每部分状态由谁持有、边界在哪里,并引用文件和行号。
- 解释设计原因:查阅提交历史、blame、PR 描述、关联 issue 和代码附近的注释;区分记录中明确写出的内容与推断内容,并清楚标注推断;若无记录则如实说明。
- 组织输出:先用通用语言给出平实定义,再结合当前代码库说明;按实际使用流程展开,然后讲原因,最后讲边界情况;必要时附小型示意图或表格。
- 提供深入选项:可邀请读者指定某一部分进一步展开。
使用方式
该技能以固定步骤运作:判断读者需求、评估任务规模、追踪运行方式、查证设计原因、撰写解释、提议深入某个具体部分。停止条件为:读者的问题已用引用的代码和有来源的原因得到回答;或者在查找原因三轮后仍无记录,此时应说明原因未知。
适用场景
- 接手陌生代码,需要快速理解结构与状态归属。
- 修改代码前,先弄清现状与设计动机。
- 代码审阅与调试时,需要可追溯的行为说明。
- 向他人讲解某段代码的运作与取舍。
限制
- 不编辑代码。
- 关于行为的每条判断都必须指向具体文件和行号。
- 不把对意图的猜测当作事实呈现。
- 解释的是概念而非罗列函数。
- 若提交历史等处无记录,需明确说明原因未知,而非编造。
暂未提供的信息
该技能的具体安装命令、运行平台要求、收费方式与价格,资料中暂未提供。