跳到主要内容
Nexlyh.
长时间曝光拍下的星轨,夜空中的星点沿同心圆轨迹排布

技术探索

先验证边界,再决定要不要做

每个方向都从一个问题开始。我们要求它有一个能判断对错的依据,否则不进入产品。

为什么先写清楚判断依据

演示很容易做出效果,难的是知道这个效果在真实使用里能不能稳定复现。 所以我们要求每个探索方向先回答两个问题:要验证什么,以及什么样的结果算验证通过。

没有明确判断依据的方向会一直停在“看起来不错”的状态,最后既进不了产品, 也没法干脆地放弃。写清楚依据,是为了让决定变得可以执行。

长时间曝光拍下的星轨,夜空中的星点沿同心圆轨迹排布

正在进行的方向

每条记录包含一个明确的问题、当前的判断,以及用来支撑判断的方式。

桌面上的操作为什么会卡一下

进行中

同样一台机器,有些操作顺滑、有些会明显停顿,差别出在哪里?

先按操作链路分段计时,找出占时间最多的那一段再动手,而不是凭感觉优化。没有分段数据的优化都是猜测。

判断依据按操作链路分段计时

大版本升级怎么才敢让人点

进行中

升级时最怕的是数据没了。能不能让升级变成一个可以后悔的操作?

升级前先做可回滚的快照,升级失败能回到原位。这条比把升级做快更重要,因为丢一次数据会抵消掉之前所有版本攒下的信任。

前提条件升级可回滚

编码代理该问多少次

进行中

代理动手之前问多少次才算合适?问得太少不安全,问得太多没人愿意用。

答案取决于动作是否可逆。读取与搜索不必打断,写文件与执行命令必须确认,连续的同类动作合并成一次授权。

划分依据动作是否可逆

生成的代码怎么算能用

探索中

只看几个漂亮示例判断不了质量,那应该看什么?

看它能不能通过项目自己的检查:类型是否通过、已有测试是否还全绿、改动范围是否和声明一致。三项都过才算合格。

验收口径项目自身的检查全部通过

探索与产品的关系

探索方向全部来自两款产品在实际使用中暴露的问题,不设独立的研究课题。 一个方向被验证可行之后,会直接进入 Soke 或 Coder 的版本计划; 被验证不可行,也会写成记录留档,避免第二次踩同一个坑。

不做什么

不做没有判断依据的方向,不做只为了展示技术而存在的功能, 也不把尚未验证的结论写进产品说明。探索阶段的结论会明确标注状态, 不会和已落地的能力混在一起。