展开知识库目录
怎样追踪一个功能从页面、接口到数据库的调用链
先选一条用户动作或接口请求,记录页面状态、路由和请求,再沿控制器、服务、数据访问和存储向下。
调用链从一个真实入口开始追
先选一条用户动作或接口请求,记录页面状态、路由和请求,再沿控制器、服务、数据访问和存储向下。不要试图一次画完整系统。
冻结入口
记录 URL、按钮、CLI 命令或接口请求,保存输入、用户身份、预期结果和一次真实调用。
把涉及的文件、目录、版本、命令和实际输出写进记录;代码变化同时保留 diff 与测试结果。
追页面与状态
找到事件处理、状态来源、表单校验和请求封装,记文件、符号和触发条件。
确认“追页面与状态”已经有可回查结果,再进入“追接口与业务逻辑”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
追接口与业务逻辑
从路由到认证、校验、服务和错误处理,区分传输结构与业务规则。
确认“追接口与业务逻辑”已经有可回查结果,再进入“追数据读写”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
追数据读写
确认模型、查询、事务、缓存和外部服务,标出主键、权限和可能副作用。
确认“追数据读写”已经有可回查结果,再进入“用日志或测试验证”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
用日志或测试验证
增加或读取最小诊断证据,确认图上的每一跳真实发生,删掉仅凭命名推测的关系。
需要修改时先限定文件和行为范围,无法说明回滚方式或影响面的动作先不执行。 完成后把证据归入“带文件位置的调用链图”。
完成后应能在“带文件位置的调用链图”中找到与这一步对应的记录;仍需靠猜测补全,就停在这里。
调用链图要能回答改动影响
每个节点写文件和符号,每条边写输入输出和失败方式。仍未知的异步、缓存或外部环节单列,不用一条直线掩盖。
