跨层检查Skill check-cross-layer

跨层检查技能是软件开发中的一个后实现验证工具,用于检查代码更改是否考虑了所有相关维度,如跨层数据流、代码重用和依赖管理。它帮助预防因考虑不周导致的bug,提高代码质量和可维护性。关键词:跨层检查、代码审查、软件开发、安全网、数据流。

测试 0 次安装 0 次浏览 更新于 3/13/2026

name: check-cross-layer description: “跨层检查”

跨层检查

检查您的更改是否考虑了所有维度。大多数bug来自于“没想到它”,而不是缺乏技术技能。

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


相关文档

文档 目的 时机
预实现检查清单 编码前的问题 编写代码之前
代码重用思考指南 模式识别 实现期间
$check-cross-layer (此技能) 验证检查 实现之后

执行步骤

1. 识别更改范围

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 -> 服务 -> 数据库
  • [ ] 类型/模式在层之间正确传递?
  • [ ] 错误正确传播到调用者?
  • [ ] 在每个层处理加载/挂起状态?

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


维度B:代码重用(当修改常量/配置时需要)

触发

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

检查清单

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

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


维度B2:新工具函数

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

检查清单

  • [ ] 先搜索现有的类似工具
    grep -r "函数名称模式" src/
    
  • [ ] 如果类似存在,是否可以扩展它?
  • [ ] 如果创建新的,它是否在正确的位置(共享与领域特定)?

维度B3:批量修改后

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

检查清单

  • [ ] 您检查了所有具有相似模式的文件吗?
    grep -r "您更改的模式" src/
    
  • [ ] 是否有任何文件被遗漏,也应该更新?
  • [ ] 应该将此模式抽象化以防止未来重复吗?

维度C:导入/依赖路径(当创建新文件时需要)

触发:创建新的源文件

检查清单

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

维度D:同层一致性

触发

  • 修改显示逻辑或格式
  • 相同领域概念在多个地方使用

检查清单

  • [ ] 搜索使用相同概念的其他地方
    grep -r "概念名称" src/
    
  • [ ] 这些使用是否一致?
  • [ ] 它们应该共享配置/常量吗?

常见问题快速参考

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

输出

报告:

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