正在提问时
明确表达你的问题以及需求
漫无边际的提问是近乎无休无止的时间黑洞。最有可能给你有用答案的人通常也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞相当厌恶,所以他们也倾向于厌恶那些漫无边际的提问。
明确你希望别人做什么
如果你明确表述需要回答者做什么(如提供指点、发送一段代码、检查你的补丁、或是其他等等),就最有可能得到有用的答案。因为这会定出一个时间和精力的上限,便于回答者能集中精力来帮你。这么做很棒。
你可以明确请求:
- 帮你判断下一步排查方向。
- 检查一个最小复现示例。
- 看看补丁思路是否合理。
- 指出相关文档或关键概念。
- 判断错误信息是否指向某类常见原因。
这些请求都有边界。它们不会要求别人无期限地接管你的问题。
尊重专家最稀缺的资源
要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。
因此,你的问题应该让回答者能快速决定:我是否懂这个问题,我需要看哪些信息,我能否在几分钟内给出方向。
简化问题不等于隐藏信息
所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你获得有用的答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问我想更好地理解 X,可否指点一下哪有好一点说明?通常比问你能解释一下 X 吗?更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。
好的提问会把问题缩小到一个可处理的范围,但不会删掉诊断所需的关键事实。你要减少的是噪声,而不是证据。