做产品 PMaker
空格的键盘
上线前 · 逐条过,不靠记忆 功能 对不对 主流程走得通 四态都写了 失败能重来 超长内容跑一遍 体验 顺不顺 新账号走一遍 窄屏看一遍 没有占位文案 危险操作可撤销 数据 看得见 事件已上报 失败也埋了 看板已经建好 安全 不过不发 密钥不在前端 越权访问试一次 权限后端也校验 这一列有一条没过,就不发 清单写一次,之后每次上线都用同一份,一条一条勾

清单的意义不在于你想不到这些,而在于赶工的那天你一定会忘掉其中几条。

走查清单

功能、体验、数据、安全,上线前逐条过。清单是给赶工的那个自己准备的,那时候你只会点自己最熟的那条路。

你会遇到的现象
  • 上线一小时内用户就发现了一个你从来没点过的按钮会白屏
  • 发完才想起来空态没做,新用户进去看到的是一片空白
  • 自测一直用同一个老账号,全新用户的第一步早就跑不通了
  • 回滚了两次,两次的原因都在上一次说过「下次记得看」

四类,一份清单

把清单固定成四类,顺序也固定:功能 → 体验 → 数据 → 安全。前面塌了后面不用看,最后一类一票否决。

类别逐条检查怎么算过
功能 主流程从头到尾走通;每个异步位置的四态都在;失败之后能重试且不丢已填内容;超长内容和零条数据各跑一遍 不用你解释就能走完
体验 用全新账号完整走一次;窄屏看一遍;提示语说清了发生什么和下一步;危险操作可撤销;没有「测试」「TODO」这类占位文案漏在线上 陌生人不问你也知道该干什么
数据 关键事件都上报了;失败事件带原因;属性里有能关联的 id;看板或查询语句已经准备好 上线第一天就能看到曲线
安全 密钥和令牌不在前端代码里;换个账号试访问别人的数据;权限判断后端也做了一遍;用户输入在展示前做了转义 试着越权,试不成功
清单要短到你愿意每次都过。二十条以内、十五分钟能走完,才有可能变成习惯;写到五十条,第三次就没人看了。

怎么走这一遍

顺序也固定:前面塌了,后面不用看 功能 主流程走通 · 四态齐全 不用你解释就能走完 体验 全新账号走一次 · 窄屏 陌生人不问也知道干什么 数据 关键事件都上报了 上线第一天就能看到曲线 安全 一票否决 试着越权, 试不成功 走这一遍的四个动作 换一个全新账号 把窗口拉窄 把网络调慢 走一次错的路 清单要短到你愿意每次都过:二十条以内、十五分钟能走完,才有可能变成习惯。写到五十条,第三次就没人看了。 边走边记,不要边走边改。中途开始改代码,这一遍就废了。 老账号有历史数据,天然绕开了空态和首次引导——而这两处恰好是新用户最先看到的。
清单是给赶工的那个自己准备的。那时候你只会点自己最熟的那条路,而用户一小时内就会发现你从来没点过的那个按钮会白屏。

哪些不过就不发

清单不是每条都同等重要。分两档,判断只需要几秒:

阻塞项 · 不过不发
· 会丢数据、会扣错钱
· 能看到别人的数据
· 密钥泄漏在前端
· 主流程走不通
· 出错之后没有任何提示
记进待办 · 可以先发
· 窄屏下某个间距偏挤
· 空态的插画还没画
· 文案还能更顺一点
· 加载态是转圈不是骨架屏
· 埋点少了一个次要事件
左边这五类的共同点:出了事用户会受损失,而且事后补不回来。右边的共同点:难看,但可以下一版再说。

交给 AI 先自查

如果代码是 AI 写的,让它先照着清单自查一遍,你再走一遍。它擅长发现「这里没处理错误分支」这类结构性遗漏,不擅长判断「这个提示语用户看不看得懂」。

PROMPT · 上线前自查
对照下面的清单检查刚才这个功能,逐条给结论,不要改代码。

## 功能
- 主流程能否走通;每个异步位置是否都有空、加载、出错、正常四态
- 失败之后能否重试,已填内容会不会丢
- 零条数据和超长内容各会怎样

## 体验
- 全新用户第一次进来看到什么
- 窄屏下布局是否还成立
- 出错时的提示是否说清了发生什么、下一步做什么

## 数据
- 关键事件是否已上报,失败是否带原因

## 安全
- 是否有密钥硬编码在前端
- 权限判断是否只做在前端
- 用户输入展示前是否转义

输出格式:每条给「过 / 不过 / 不确定」,不过的给出文件和行号。
不确定的单独列出来,我来人工看。

这份清单适合直接沉淀进项目的约束文件,让它每次交付前自己跑一遍,不用你每次重复(见约束沉淀)。