如何优雅地提问
1 在各地提问时,你会发现几种现象:
- 提问后没有得到答复。
- 提的问题过了很久才用人回答。
- 对方老是嫌弃自己太菜。
2 在提问之前,请确保已经研究过该手册。
很多问题会在这个过程中解决,切忌一开始就到 QQ 群、论坛 、issue, 或者邮件随便提问,很多在文档中一开始就说明了的问题可能不会得到社区的及时的回答,节省大家的时间,也为了更好的社区环境,大家共同更好地成长,请互相理解。
3 提问时,尽量做到以下几点,这将大大增加快速解决问题的机会:
要弄清楚发生了什么事,我做了什么,包括:
我想实现什么样的效果、什么功能?
为了达到这种效果,我是怎么做的,具体过程是怎样的?
在实施过程中,出现了什么错误,有什么现象(例如,报告的错误是什么,完整的错误内容是什么?)
我是否认真看了报错信息,报错信息中是否提示了错误原因和解决方法?
根据这些错误信息,仔细想想,我能解决问题吗?
搜索文档、issue,以及用搜索引擎能不能搜索到问题的解决方法?
4 如果自己实在解决不了问题,需要请人帮忙,需要考虑:
请教谁,在哪里请教,谁会更有几率回答我的问题?以及实时性如何?
我应该给他提供什么数据和现象他才能愿意快速帮我解决问题?
- 提供我的目的(方便让回答者知道你在做什么事情)
- 提供完整的实施过程,以及过程中出现的现象(方便回答者跟着你的流程去做一遍,即问题复现)
- 给出错误的地方,指明哪里出现的现象或结果和自己预期的不一样!(让回答者知道,哪里没达到预期)
- 提供出现的错误信息,需要完整,尽可能更多地截图,更多的日志,千万别小气地截一张小图,或者之给出日志的一部分(因为回答者可能很久没做这件事情了,忘记了一些细节,需要靠截图和完整日志来快速回忆起来;而且根据详细的日志可以快速定位到问题处在哪里)
怎么提问态度显得比较诚恳,就算我再小白,大家也愿意回答
5 提问模板
提问尽量做到提问优雅,不需要添加多余的语气词,抱怨的词汇,斟酌每一个词和标点符号,站在回答人的角度思考问题,如何让回答的人快速帮助自己解决问题,字数太少描述不清楚,字数太多则让人没有耐心。
6 标题
无论在哪里提问(包括 QQ 群
),给自己的问题拟定一个 30 个字左右标题,阐明问题的中心思想,包括:
- 问题类别,是问题请教,还是 BUG 提交,还是经验分享等等。让大家在满是文字的屏幕上可以立马定位到你想做什么
- 一句话阐明问题的中心你思想,比如
运行摄像头示例程序,报错 reset fail,可能是硬件问题
所以综合后标题可以是这样:
【mycobot 提问】 运行摄像头示例程序,报错 reset fail,可能是硬件问题吗
这样的标题尽量不要出现:
啊啊啊啊啊为什么我的板子又不行了
为什么我的代码不能运行了
为什么我的屏幕黑屏了
【mycobot 提问】 收到了开发板,开发板屏幕是红的,一行小字,为什么呢
我运行xxx程序,出了问题
可以这样问:
【mycobot 提问】 我的板子在我接反电源后,现在板子无法启动,怎么判断板子哪里烧毁了,如果可以,怎么救活呢
7 内容
首先站在回答者的角度,如果被问问题:
- 首先要知道对方要做什么,实现什么目标
- 为了实现这个目标,他是参考了哪里的步骤做的
- 实际上采用了哪些具体的步骤,然后在那一步出现了问题,方便我照着他的步骤去尝试复现一下现象。如果这个问题看起来不好解决,又没有复现的步骤,那可能要花很多时间去复现,先放一放先解决其它问题吧
- 具体出现的问题是什么,如果他只说出了问题,我怎么知道他出了什么问题,也许是身体不适?所以这很重要,需要让他说明出问题时的现象,并指明与预期有什么不同,不然我还得去猜去对比和预期有什么不同,解决问题的时长又增加了
- 出问题了,我可能需要他的日志文件,方便我根据日志去看源码等进行分析,不然可能会很难解决问题,那这个问题可以放到后面慢慢看吧
综上,可以这么提问:
- 详细阐明自己的目标,想做什么事情,现象应该是什么样的
- 我有没有参考哪里的文档、代码或者教学
- 如何复现错误:具体怎么做的,每一个步骤写详细,直到问题出现
- 详细阐述错误出现时的现象,以及和期望的相比哪里不一样,需要证明问题确实出现了
- 附带日志文件,以及截图,甚至是视频,日志和截图一定要完整,不要只截取一小部分,回答者可能会从你的完整日志和截图中发现一些你没注意到的问题,这很重要
- 另外,粘贴代码注意格式,别粘贴后显示很乱,无法入目,尽量能复制后直接能运行
- 最后,对解答问题的社区朋友们表达感谢