问同事之前,我习惯先把「我试过什么」写出来

那次我在群里贴了一行报错,问这个怎么解决,然后去接了杯水。回来消息是零。

过了几个小时有人回了一句:什么环境,什么时候开始的,改过什么。三个问题,我一个都答不利索。

以前我提问都是这个形状,抓一个最显眼的报错往群里一丢,以为这样最省事。实际上省下的时间是从别人那里挪的:对方要花时间猜我在干什么,猜错了再问一轮。一个问题被反问三遍才有人能答,说明提问的人省下的时间是由回答的人付的。

后来我给自己定了个格式,提问前先写三行:我试过什么,结果是什么,我猜是什么。

最近一次用得上的是接口在本地正常、部署到测试环境就返回五百这件事。

我照着格式写:我试过清缓存重发,试过把参数换成最简单的一组,结果都没变;结果是本地用同一组参数返回正常,测试环境稳定报错,日志里只有一行框架堆栈,指不到业务代码;我猜是两边配置不一样。写到第三行我停住了,因为我意识到自己从来没确认过两个环境连的是不是同一个库。

去查,果然不是。测试环境连的是一个新建的库,我前一天在那边加的字段没有加。补上,通了。

这段排查真正花时间的地方是写那三行,剩下的都是执行。

带上下文去问还有个副作用。对方不需要替我把整件事想一遍,只需要回答我猜的那一行,也就是方向对不对。如果不对,他会直接给一个我没想过的方向,这比让他从头复述一遍排查思路快得多。

多数本地好、部署后不好的问题,查到底都落在配置和数据的差异上,跟代码关系不大。这个规律是我一次次猜错攒出来的,也是我现在写第三行时最先想到的几个方向之一。

写这三行的过程本身解决了一半问题,因为写的时候会被迫检查一遍前提。很多问题不是不会解,是漏了一个自己以为早就确认过的条件。

提问质量取决于带了多少上下文。带够上下文的问题经常自己就答出来了,答不出来,也是问对了人。反过来,一个需要对方问三遍才能答的问题,本质上是把排查成本转嫁给了别人。我宁可在提问框里多写五分钟,也不想让别人替我走一遍我该走的路。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容