在八月发布一篇教程之后,我到现在至少已经回复了几百个人的私信问题。我发现,太多人在互联网或者生活中,不知道如何解决问题,同时也有人不知道如何向他人提问。因此,撰该文分享一下自己的观点。
该文谈到的问题,主要是计算机方面,当然在生活中可能也适用,大家可以选择性阅读。同时,本文主要是自己学习中总结的经验,经验当然会出错,也欢迎大家指出问题。
提问的智慧
遇到问题,我们自己解决不了时,将会求助于其他事物,此时有可能是其他人,也有可能是搜索引擎。此时提问的智慧就很关键,懂得如何去提问,能够为自己省去很多时间。
提问前
摘自:《提问的智慧》—— https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:
- 尝试在你准备提问的论坛的旧文章中搜索答案。
- 尝试上网搜索以找到答案。
- 尝试阅读手册以找到答案。
- 尝试阅读常见问题文件(FAQ)以找到答案。
- 尝试自己检查或试验以找到答案。
- 向你身边的强者朋友打听以找到答案。
- 如果你是程序开发者,请尝试阅读源代码以找到答案。
当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。
基本礼仪(除了搜索引擎)
首先,如果你提问的对象是人,那么你需要首先认识到一点:
没有人有义务无偿为你解决问题
那如何让别人乐意帮助你呢,最基本的就是礼仪。先看下我收到的私信:
上来就是短小的一行字,甚至连称谓都没有,这个问题非常普遍,我遇到时回答的欲望也不是很高。
再有甚者,在我想玩下游戏放松,开了个直播的时候,跑来直播间在弹幕塞了一堆问题。
这我只能说,情商太低,别人在休息的时候,凭什么要给你解决问题?
总结
- 含有最基本的称谓、问候语,如:“UP 主,你好,我遇到了一些问题。”
- 问题字数不要太少,你只舍得打不到 20 个字,为何要求对方为你回复半天?
- 换位思考,当对方可能会乐意回答问题时,再去提问。
准确描述问题 —— 尝试用专业名词
很多情况下,对于不熟悉的专业,我们没办法准确描述专业名词。想象一下你向他人或搜索引擎提问:
如何骑 主要结构有两个轮子、一个把手、一对踏板 的交通工具?
大概率你是得不到你想要的结果的。此时我们应当优先查询出专业名词是什么,首先问:
主要结构有两个轮子、一个把手、一对踏板的交通工具是什么?
此时你会得到许多答案,比如:自行车、小电驴…… 如何确定到底是哪一个?我们可以查看结果,反向检查每一个结果是否符合我们的预计。我们发现“自行车”符合我们的预计,那么我们再搜索:
如何骑自行车?
这样你就能得到相关的答案。但是,自己找不到对应的专业名词,是非常正常和普遍的,因为你毕竟不了解这个领域,那么你的着重点就是,问题越详细越好,让对方能够理解你说的是什么。
总结
- 提问时,尝试使用专业名词表达问题,可借助搜索引擎确定专业名词。
- 无法用专业名词表述时,需要详细地描述问题,以便他人推断。
准确描述问题 —— 把握问题的关键
上文所说,如果没法准确精简地描述问题时,那就越详细越好。但是很多人的问题非常详细,给出了各种描述、截图、日志,但是有一个严重问题就是,正好丢了关键信息。这就好比你做一道数学题,正好丢了关键条件,这是做不出来的。
下面主要讲的是计算机技术方面的,可能相关领域能够通用。
- 问题表现、复现方式、自身环境、相关日志
在提问时,一定要说明上面几点。问题表现就是你简单说明出了啥问题,你想要的预期结果是啥;复现方式就是你进行了什么操作后碰到这个问题的;自身环境就是你自己的系统版本、软件版本等等环境是什么;相关日志就是错误的日志记录,通常显示的一大坨英文就是的。
- 报错往往是红字,警告往往是黄字
如果你的程序出现了问题,红字和黄字非常关键,在描述问题时一定不要漏掉。
- Error, Exception, Warning
这三个单词分别意味着错误、异常、警告,扫一眼错误日志,如果发现这些词,那在提问时一定别掉了。
- 保证相关信息清晰
在提问时,切记不要用手机拍屏截取信息,这是非常容易遗漏关键信息的,应当完整截屏。对于日志,截屏无法截取完整,可以尝试复制下来使用文本提供给对方。
准确描述问题 —— 尽量别下结论
在提问时,如果你没有十足的把握,不要尝试先下一个结论。因为搜索引擎不会判断对错,如果你的结论是错误的,搜索出来的结果也是错误的。而人的话,会判断对错,但是会让对方十分疑惑,有可能带偏对方的思路。
例如我们如果搜索:
美国为什么要轰炸珍珠港?
我们获得的结果就会比较神奇了。此时会对自己产生很大的误导,对于我们没把握的结论,我们应当搜索:
谁轰炸了珍珠港?
先得到正确的结论,再进行接下来的搜索。
总结
- 提问时,不要给自己的问题预设一个结论,很容易带偏自己或者误导对方。
- 可尝试先确定正确的结论,再去进一步提问。
准确描述问题 —— 尽量将问题典型化
这个主要适用搜索引擎方面,因为人更加智能,能够提炼你的问题。
如果自己出现的问题太偏门,直接去搜索这个问题,很有可能没有结果,因为出现这种问题的人太少。此时我们不妨放宽范围,先搜索比较宽泛典型的问题,说不定这些结果也能帮助到自己。
这个例子也很好举,就以题目举例,如果你要搜索一个之前没出现过的题目,如果直接把题目塞到搜索引擎,肯定是搜索不到的。但是如果你总结一下题目类型,或者把题目分解成几个更典型的部分,再去搜索,就能得到相关信息。虽然不能直接解决这个问题,但是也能对自己有帮助。
当然这点需要自己对问题有一定的了解,可能对于有些自己完全不懂的领域,是办不到的。
信息挑选与鉴别
对于人,我们可以推测对方的技术水平,同时结合其他信息例如搜索引擎,判断对方给出的答案是否靠谱。下面我们主要讲如何挑选鉴别搜索引擎给出的结果。
搜索后,我们会得到许多搜索结果,甚至搜索结果互相矛盾,此时挑选搜索结果就很重要。
我们主要讲平台的选取,我们每个专业都会有很多交流平台,不同平台上的平均信息质量是不同的,通过平台,来预估信息质量和甄别信息正误,是比较方便快捷的。
下面主要分享计算机专业的平台,可能适用于类似专业:
语言选取:英文平台 > 中文平台
计算机知识,英文资料平均质量更高,这是普遍共识。不过英语水平每个人不同,这点就不展开讨论了。
英文平台:Stack Over Flow, Stack Exchange, Reddit, GitHub, etc.
对于英文平台,我的感觉是除商业推广平台外,质量不会太低,选择 Google 前几项一般不会翻车。
中文平台:知乎 = 简书 > 博客园 > CSDN > 百度文库 > 百度知道 > 垃圾机翻论坛
- 知乎、简书:内容平均质量高,排版优质
- 博客园:内容平均质量较高,排版有时候不太清楚
- CSDN:内容平均质量一般,排版往往不太清楚,页面混乱商业气息浓厚
- 百度文库:屎里淘金,排版往往不太清楚,页面混乱商业气息浓厚
- 百度知道:内容经常牛头不对马嘴,经常是机器人在胡扯,压根没有排版,页面混乱
- 垃圾机翻论坛:就是屎,英文资源机翻之后胡乱塞到一个页面,好东西糟蹋成这样
扩展阅读
GitHub 上有一个仓库叫做 How-To-Ask-Questions-The-Smart-Way,即提问的智慧。详细描述了在计算机专业技术中,提问时应当注意的要点。如果你感兴趣,可以前往 GitHub 查看:
你说 GitHub 打不开?欸嘿,那你就可以尝试下上面所说的内容,学会如何求助搜索引擎或者其他人。
发表回复