变更文件列表展示格式
向用户展示 PR 变更文件列表的推荐格式和策略。
推荐展示格式
共 X 个文件变更 +XXX -XXX
| 文件 | 状态 | 新增行 | 删除行 |
|------|------|--------|--------|
| src/auth/login.py | 新增 | 150 | 0 |
| src/models/user.py | 修改 | 30 | 5 |
| src/utils/old_helper.py | 删除 | 0 | 80 |
状态说明
| 标识 | 含义 |
|---|---|
| A / 新增 | 新增文件 |
| M / 修改 | 修改文件 |
| D / 删除 | 删除文件 |
| R / 重命名 | 重命名文件 |
大文件量处理策略
| 文件数 | 策略 |
|---|---|
| ≤ 20 | 使用表格展示所有文件 |
| > 20 | 按目录分组展示,提供选项(继续审查全部 / 只审查核心文件 / 展示全部文件列表) |
获取数据
# 每个文件的新增/删除行数
git diff --numstat $MERGE_BASE pr_{pr_number}
# 文件变更类型
git diff --name-status $MERGE_BASE pr_{pr_number}
自定义
各 skill 可以在此基础上自行定制展示格式,例如:
- gitcode-pr-handler、gitcode-issue-gen 使用带有边框的 ASCII 表格
- pr-to-design-doc 增加了序号列
- code-review 根据文件数量动态切换展示策略