独立校验
图不给自己判分
独立校验(oracle) 不读页面上任何已渲染的值。它从 nodes 和 edges 重算包数、边数、入度、行数和组数,再和 fixture 自己记录的总数比对;fixture 被改过就会失败。
DSH 学习 · 源码实测依赖图 01
横轴是一个包 src 目录的行数,纵轴是同仓库里有多少个包在 peerDependencies 里指向它。两者可以完全脱钩——先看散点右下角和左上角,再按组筛选。
体量 × 被依赖次数
一个点是一个包。把鼠标停在任意一点上,图、柱视图和下面的表格会同时高亮同一个包;滚轮缩放(放大后可拖拽平移),触屏和键盘用下方按钮。换上面的「按组筛选」会重画这张图并回到全貌。只用一种颜色:50 个组无法用色相安全区分,所以组是筛选条件,不是颜色。只给落在角上的包直接标名字。正文里点这些名字也一样联动: (主链路的 Agent)、 (模型能力层)、 (技能注册表)。
点的面积编码第三个量:这个包在当前视图里依赖了多少个别的包。三个量在固定 fixture 上两两近似不相关(相关系数 +0.15、+0.18、−0.11),所以面积不是把横纵轴换个说法重复一遍。面积按平方根映射,因为人眼比较面积而不是半径。这一列在下面的表格里逐行给出,不依赖看图。
全局定位
这一幕不是用来读数值的。要读某个包有多少行、被谁依赖,看上面的散点图和本页最后的表格——那两个都不用先点开。这里回答另一个问题:50 个组的体量差多大,排在一起是什么样子。前 14 个组占了 72% 的行数却只占 28% 的组数,这件事在表格里要逐行加,在这里一眼就看得到。
默认不启动:连续渲染在手机上耗电,而这一幕不是读数值必需的。启动后可以拖动旋转,也可以用方向键;页面不会记住这个选择。
独立校验
独立校验(oracle) 不读页面上任何已渲染的值。它从 nodes 和 edges 重算包数、边数、入度、行数和组数,再和 fixture 自己记录的总数比对;fixture 被改过就会失败。
证据边界
完整文字替代
上面两张图能表达的每一个数字,这张表都逐行给出。没有脚本、没有图形支持或开启减少动态效果时,从这里读。