如何提问

转载自debiancn论坛,有改动

另参见:提问的智慧

提问前

遇到问题时,每个人心里都很着急。但是在决定在社区提问问题前,最好先做做以下功课:

尝试从官方文档中找到答案

确保自己至少读过一些官方文档。这样在遇到问题时,如果能回忆起只言片语,就可以再去读一遍相关文档,问题往往也就解决了。

Google 是你的朋友

对于成熟的开源项目,你遇到的问题,很可能别人也遇到过。这时通过 Google、百度 等网站的搜索服务,可以帮你快速定位并解决问题。永远记住,地球上的你并不孤单,包括你遇到的问题。

挖掘 Bug 宝藏

开源软件一般都会有自己的 Bug 管理方案,比如 Debian 有一个对用户和开发者所提交的软件缺陷报告进行归档管理的缺陷跟踪系统,
提问之前先通过搜索看看有无你遇到的问题。一个运作良好的 Bug 库,经常是一座巨大的宝藏。对于活跃社区来说,这一招经常很管用。

求助身边的朋友

如果你使用的开源软件,在朋友圈或同事圈里也有人使用,那么抬起你的脚、或拿起你的电话,真挚诚恳的探讨不会遭遇拒绝,而会增进友谊。不要犹豫,你的内心渴望面对面交流,你的朋友也是。
如果以上 4 步都无法解决你遇到的问题,也别犹豫,立马向开源社区提交问题就好。

提问时

平和对等的心态

提问时,不要把自己摆在顾客的位置,比如

  • 项目马上要上线了,请务必帮忙解决
  • 这是我的邮箱,请及时联系我

另外,也不要把自己摆在乞食者的位置,比如

  • 冰天雪地跪求解答
  • 救命啊,我的系统挂了

在开源社区,一切皆是朋友。无论对方是 Linux 内核的作者,还是某个软件包的维护者,你和他们都是对等的。你的提问是在帮助开源软件完善。平和对等的心态,可以让你的问题赢得更多人的阅读和思考。

通过论坛而不是Telegram群组来提问

我们不推荐你在 Telegram群、IRC频道等这些地方提问(但这不是强制的),因为这些交流方式是即时的,所以它的缺点也显而易见:你很难对这个问题及其解答做总结和归档。
而在论坛提问可以很好的实现这个功能,这样当另一个人发现了一个相同的问题时,他可以很容易的通过搜索论坛里以前的帖子来找到解决方案,避免重复劳动。

使用明确、有意义的标题

抱着平和对等的心态,找到合适的途径后,就得静下心来将遇到的问题写成文字。书写文字不是一件简单的事情,我们可以从遵循一些简单的规则开始。
首先是标题要简洁清晰,要言之有物。比如

  • 我遇到了一个 systemd 问题
  • 我为什么进不了我的桌面环境了

上面的标题很糟糕,光看标题作者无法知道发生了什么事。当开源社区的问题很多时,上面这类标题,经常会让作者直接忽视或将优先级降到很低。
明确、有意义的标题,可以帮助作者确定问题具体是什么类型、预估需要多少时间解决、是否现在马上解决等。一个好的标题,也有利于社区知识的沉淀和后期搜索。标题有如一个人的颜面衣着,虽然不是关键,但在嘈杂的信息社区中,这很重要。

语法正确、格式清晰

虽然我们不是作家,但正确的语法、清晰的格式,可以让读者赏心悦目,也就更有心情帮你一起思考解决问题。
对于很多需要代码来描述的问题,要尤其注意格式,这能让你的内容看起来很专业,社区也就更有意愿会去帮助你,否则糟糕的排版,经常带来的是发帖之后的石沉大海。

描述事实、而不是猜测

事实是指,依次进行了哪些操作、产生了怎样的结果。而不要自己胡乱猜测,
有时不合理的猜测会让回答者一头雾水。因此,尽量避免猜测性描述,除非你能先描述事实,在事实描述清楚之后,再给出合理的猜测是欢迎的。

贴出你的错误日志或者硬件信息

一个功能完善的软件,必然会具备记录日志的功能。因此在出现问题时,最好尽可能详尽地贴出相应的错误日志,这样可以帮助回答者更好地理解错误发生时的情景,也就能更好的给出解决方案。
另外,如果你的问题是与硬件或者驱动相关的,最好在问题描述中给出你的机器的详细硬件配置。这也对诊断问题非常有用。

仔细检查、确保准确

是人都会犯错误,特别是在如此快节奏的互联网环境下。好不容易把问题描述清楚时,不要急着立刻提交。在提交前,至少保证从头到尾再仔细阅读一遍,比如语法错误、错别字、标点符号、排版等等。做到这些,不光是尊重别人,也是尊重自己。

提问后

等待回复

互联网上最有效的沟通方式是异步沟通。因此,提交问题之后,不要期待有人会马上给予回复,也不要心烦意乱着急地等待,更不要因为帖子暂时没有人回复而重复发贴或顶贴。可以先去忙点儿别的事情,如果有人回复,论坛会有邮件提示你的。

及时补充信息

在接收到回复时,仔细阅读。最经常的情况是,社区回复的,经常不是你想要的答案。比如
''根据你的描述,问题无法重现。能否提供具体使用环境和重现步骤?''
这时要淡定。仔细看看自己提交的问题描述是否足够清晰,如果有可补充的信息,尽量补充,以帮助作者能尽快定位问题。
要记得,谦和淡定的交流,不光能帮助你解决问题,还有助于你结交更多朋友。

适当的总结

当问题终于解决时,建议对问题进行总结。可以直接编辑原帖进行总结。你的总结,会让遇到同样问题的朋友们受益,并且对自己的技能也是一种提高。无论国内还是国外,有很多牛人之所以成为牛人,很大程度上都是因为有总结思考的好习惯。

不要忘记感谢

事实上,没有人有义务帮你解决问题,要知道,每个人的时间都很宝贵,所以,应该衷心感谢那些在社区中帮助过你的人。
同时,也希望你能在力所能及的事情多多帮助一下其他的提问者。唯有这样,社区才能在互助友爱的气氛中向前发展。

延伸阅读