Skip to content

🔰 提问的艺术

🕒 Published at:

提问的艺术

这篇内容主要写给初学者,高手或老手可以略过了。

初学者有两个问题很显著:

  1. 不会提问
  2. 不会搜索

先说搜索

搜索一定要选择谷歌,不要用其它的搜索引擎。如果所在地区访问不了谷歌,可以安装谷歌浏览器,然后安装一个名称为「谷歌访问助手」的插件。搜索一下,网上有。

有了工具以后,具体查询的时候要注意用合适的关键词。基本原则是将我们自己问题中的关键字拿出来,输入进去,如果结果不理想,可以稍微变换一下关键字。选择关键字,主要靠经验,用的多了自然就准确了。

再说提问

这比搜索更重要。

很多新人不会提问。最近有一位读者在微信上私信问我问题,他上来只发了一句话:

老师请教个问题

然后就发了一个截图,截图中也没有错误信息,其它什么内容都没了。这件事给我造成了很大阴影,本来我就不喜欢微信这样断断续续的聊天,我觉得这种沟通方式很浪费时间。

关于提问的艺术,有个老外写了一篇「提问圣经」,国人翻译了中文版,见这里:https://learnku.com/docs/guide/smart-questions/2032。

这篇内容写的很好,但内容很多,我提炼一下,有以下几点特别值得注意:

  1. 在提问之前,先尝试谷歌一下。除了谷歌,还可以尝试翻一下软件的FAQ文档或issue列表。
  2. 好问题本来就具有价值,所以要尽力提出有价值的问题。什么是无价值问题?那些通过搜索引擎查一查就能得到的答案,就是无价值或低价值问题。
  3. 如果是代码问题,在请教别人之前,一定要准备一个「最小测试样例」,并且要告诉别人怎么运行你的代码。这一点很重要,特别当问题是bug相关的时候。你想要别人帮你找出bug,就要把代码共享出来。如果是微信小程序,最好的方式是提供代码链接。其它技术或语言,可以提供github仓库链接。
  4. 在描述问题时,要尽量把问题和问题存在的基础描述清楚。写明白期望是什么,现象是什么。如果是调用了接口,怀疑调用代码有问题,一定要把接口文档或说明附上。总之,要保证用于解决问题的信息是对称的,因为别人不是你,不可能知道你脑袋里有什么。
  5. 基本的社交礼貌要具备。人与人都是平等的,不需要低三下四,但也绝不能认为理所当然。别人没有义务一定帮你,有可能是不了解,有可能是没有时间,都有可能。但要有自尊,不能因为别人不理你就情绪失控。

原文有这么一句话对我印象深刻:

我们回答问题的风格是为了适应那些真正对此有兴趣并愿意主动参与与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就会在自己能做得到的最好的事情上不再那么犀利。

有这种态度的人,是真正的程序员。他们就像穿山甲,因为要穿山,所以练就了一副硬壳,没有了这副装备就什么也不是了。

2021年3月15日