AgentSkillsCN

check-cross-layer

跨层检查

中文原作
SKILL.md
--- frontmatter
name: check-cross-layer
description: "跨层检查"

跨层检查

检查你的变更是否考虑了所有维度。大多数 Bug 来自"没想到",而非技术能力不足。

注意:这是一个实现后的安全网。理想情况下,在写代码之前先阅读实现前检查清单


相关文档

文档用途时机
实现前检查清单编码前的问题写代码之前
代码复用思维指南模式识别实现过程中
$check-cross-layer(本 Skill)验证检查实现之后

执行步骤

1. 确定变更范围

bash
git status
git diff --name-only

2. 选择适用的检查维度

根据你的变更类型,执行下面相关的检查:


维度 A:跨层数据流(涉及 3 层以上时必须)

触发条件:变更涉及 3 个或更多层

常见位置
API/路由routes/, api/, handlers/, controllers/
服务/业务逻辑services/, lib/, core/, domain/
数据库/存储db/, models/, repositories/, schema/
UI/展示components/, views/, templates/, pages/
工具utils/, helpers/, common/

检查清单

  • 读取流:数据库 -> 服务 -> API -> UI
  • 写入流:UI -> API -> 服务 -> 数据库
  • 类型/schema 在层之间正确传递?
  • 错误正确传播给调用方?
  • 每层的加载/等待状态已处理?

详细指南.trellis/spec/guides/cross-layer-thinking-guide.md


维度 B:代码复用(修改常量/配置时必须)

触发条件

  • 修改 UI 常量(标签、图标、颜色)
  • 修改任何硬编码值
  • 在多处看到相似代码
  • 创建新的工具/辅助函数
  • 刚完成跨文件的批量修改

检查清单

  • 先搜索:有多少地方定义了这个值?
    bash
    # 在源文件中搜索(根据项目调整扩展名)
    grep -r "value-to-change" src/
    
  • 如果 2 个以上地方定义了相同值 -> 应该提取为共享常量
  • 修改后,所有使用点都已更新?
  • 如果创建工具函数:是否已存在类似的?

详细指南.trellis/spec/guides/code-reuse-thinking-guide.md


维度 B2:新工具函数

触发条件:即将创建新的工具/辅助函数

检查清单

  • 先搜索是否存在类似的工具函数
    bash
    grep -r "functionNamePattern" src/
    
  • 如果存在类似的,能否扩展它?
  • 如果创建新的,位置是否正确(共享 vs 领域特定)?

维度 B3:批量修改之后

触发条件:刚在多个文件中修改了相似的模式

检查清单

  • 是否检查了所有具有相似模式的文件?
    bash
    grep -r "patternYouChanged" src/
    
  • 是否有遗漏的文件也应该更新?
  • 这个模式是否应该抽象化以防止未来的重复?

维度 C:导入/依赖路径(创建新文件时必须)

触发条件:创建新的源文件

检查清单

  • 使用了正确的导入路径(相对 vs 绝对)?
  • 没有循环依赖?
  • 与项目的模块组织方式一致?

维度 D:同层一致性

触发条件

  • 修改显示逻辑或格式化
  • 同一领域概念在多处使用

检查清单

  • 搜索使用相同概念的其他地方
    bash
    grep -r "ConceptName" src/
    
  • 这些用法是否一致?
  • 是否应该共享配置/常量?

常见问题速查

问题根因预防
改了一处,漏了其他没有搜索影响范围修改前先 grep
数据在某层丢失没有检查数据流追踪数据从源到目标
类型/schema 不匹配跨层类型不一致使用共享类型定义
UI/输出不一致同一概念在多处定义提取共享常量
类似工具函数已存在没有先搜索创建前先搜索
批量修复不完整没有验证所有出现的地方修复后再 grep

输出

报告:

  1. 你的变更涉及哪些维度
  2. 每个维度的检查结果
  3. 发现的问题和修复建议