应用的边界

凡是从外面来的都不可信。一次断掉一环,看链条停在哪里、屏幕上又出现什么。

点击图中任意一段,可打开该步骤。

完整的边界

网络 → 状态码 → 解析 → 形状 → 是否存在 → 屏幕上唯一的状态。每一段返回的都是有名字的结局,而不是一个光秃秃的 null,所以界面永远知道到底哪里出了问题、该显示什么。

内容一览

  1. 1 请求可能根本发不出去 — 链条到这里就停了。下面的一切连试都不会试。
  2. 2 有响应还不等于有数据 — 不看状态码就去解析,正是错误页变成组件内部崩溃的那条路。
  3. 3 形状只校验一次 — 边界上的一次校验,替掉了数据每一处使用点上的防御式判断。
  4. 4 格式对不代表东西在 — 「没找到」和「出了故障」,在调用方眼里绝不能长得一样。
  5. 5 一次只有一种状态 — 各自独立的布尔标志会允许没人设计过的组合。单个字段不会。

可交互的讲解

1 / 5