温州程序员劝退师 (@Das)找到问题的本质在于找到本质的问题 中发帖

前言
最近 VC 玩多了,回来聊聊工程问题 

找到问题的本质在于找到本质的问题 

这句话乍看之下是打机锋,但却是提高工程质量的一个切实方法。很多时候,真正阻碍质量提升的不是缺少答案,而是问错了问题。 
一个线上接口变慢了,我们问:“怎么优化这个接口?” 
这不是个好问题,应该继续追问: 
1.为什么只有管理用户慢? 
2.为什么只在每天9点半到 11 点慢? 
3.为什么数据库没有变慢,但接口耗时增加了? 
4.为什么缓存命中率下降没有触发告警? 
… 
现象不是问题
工程现场最常见的误判,是把现象当成问题。 
比如:页面白屏了。 
此时简单的修复可能是单纯地拉长等待时间或者给个兜底值。 
但如果我们继续追问: 
1.是所有用户白屏,还是部分用户? 
2.是首次加载白屏,还是路由跳转后白屏? 
3.是前端资源加载失败,还是运行时报错? 
4.是发布后立刻出现,还是某个接口返回特定数据后...
 
 
Back to Top