桌面上的操作为什么会卡一下
进行中同样一台机器,有些操作顺滑、有些会明显停顿,差别出在哪里?
先按操作链路分段计时,找出占时间最多的那一段再动手,而不是凭感觉优化。没有分段数据的优化都是猜测。
按操作链路分段计时

技术探索
每个方向都从一个问题开始。我们要求它有一个能判断对错的依据,否则不进入产品。
演示很容易做出效果,难的是知道这个效果在真实使用里能不能稳定复现。 所以我们要求每个探索方向先回答两个问题:要验证什么,以及什么样的结果算验证通过。
没有明确判断依据的方向会一直停在“看起来不错”的状态,最后既进不了产品, 也没法干脆地放弃。写清楚依据,是为了让决定变得可以执行。

每条记录包含一个明确的问题、当前的判断,以及用来支撑判断的方式。
同样一台机器,有些操作顺滑、有些会明显停顿,差别出在哪里?
先按操作链路分段计时,找出占时间最多的那一段再动手,而不是凭感觉优化。没有分段数据的优化都是猜测。
升级时最怕的是数据没了。能不能让升级变成一个可以后悔的操作?
升级前先做可回滚的快照,升级失败能回到原位。这条比把升级做快更重要,因为丢一次数据会抵消掉之前所有版本攒下的信任。
代理动手之前问多少次才算合适?问得太少不安全,问得太多没人愿意用。
答案取决于动作是否可逆。读取与搜索不必打断,写文件与执行命令必须确认,连续的同类动作合并成一次授权。
只看几个漂亮示例判断不了质量,那应该看什么?
看它能不能通过项目自己的检查:类型是否通过、已有测试是否还全绿、改动范围是否和声明一致。三项都过才算合格。