在各个地方提问时, 大家会发现有几个现象:

  • 提问题后没人回答,甚至没人理睬
  • 提的问题过了很久才有人回答
  • 对方老是嫌弃自己太菜

问问题前,确认自己已经学习了基础知识,并且搜索了文档和社区, 仍然无法解决问题,才需要提问

很多问题会在这个过程中解决, 切忌一开始就到 QQ群、论坛 、issue, 或者邮件随便提问。
这些问题一般不会得到回答和响应(因为大家每天都在看到问重复的已经解答过的问题):

  • 在文档中一开始就说明了的简单问题,大家一看你就没好好读文档,当然懒得理你。
  • FAQ 已经整理过的问题。
  • 提问语句不通顺,一个句子连基础的 主谓宾 都没有,谁也不想和难沟通的人说话。
  • 没有前因后果,没有你想要什么目标,你做了什么,现象是什么,要理解大家时间都有限,没人想一点一点来问你想要做什么,做了什么,问题是什么。
  • 日志截图不全,总是截了一小块,大家也看不到关键信息,尽量截图大一点,信息全面一点。
  • 态度趾高气昂,比如在店里买了开发板,到社区来叫嚣需要技术支持服务,不好好提问,大家肯定懒得理你。
  • 不好好看代码,连代码都没有阅读过一遍,就到处问,大家一看就知道你没看代码,懒得理你。
  • 不好好看日志或者日志不往上翻阅,明明日志上写了错误原因甚至解决方法,大家只会觉得你太懒了,交流起来一定很吃力,懒得理你。
  • 。。。可能还有其它明显的问题,希望自己提问前想想,你作为回答者,你会愿意回答这样的问题吗?

提问时,尽量做到以下几点,会大大提高问题被快速解决的几率:

时刻站在回答者的角度思考问题

每次提问,都要站在解答者的角度思考:

  • 假设解答者都是大佬,他们时间宝贵。
  • 如何让大家在一瞥之间就能看懂我的提问,最好是不要让回答者来追问我做了什么,目的是什么等基础问题。
  • 如果让大家愿意回答我的问题,比如是有技术讨论深度,还是说能让回答者感受到至高无上的被崇敬的感觉,还是说我能直接打钱。
  • 不要让回答者觉得我懒,没有看文档,没有看代码,没有看日志,没有搜索过,没有思考过,没有尝试过,没有做过任何努力,就直接来问问题。

缕清问题, 弄清楚到底发生了什么,以及我做了什么,包括:

  • 我想实现什么效果,什么功能?

  • 为了实现这个效果,我是怎么做的, 详细的过程是什么?

  • 实施的过程中, 什么错误发生了, 现象是什么(比如报错了, 报了什么错,完整的错误内容是什么?切忌只看最后几行,尽量往前多看看日志)

  • 我是否认真看了报错的信息, 报错信息中是否有提示了错误的原因和解决的方法?

  • 根据这些报错信息, 仔细思考, 是否能解决问题?

  • 搜索 文档、 FAQ, issue, 以及用搜索引擎能不能搜索到问题的解决方法

如果问题自己实在不能解决, 需要请教于人, 需要考虑:

  • 请教谁,在哪里请教, 谁会更有几率回答我的问题?以及实时性如何?

  • 我应该给他提供什么数据和现象他才能愿意快速帮我解决问题?

    • 提供我的目的 (方便让回答者知道你在做什么事情)
    • 提供完整的实施过程, 以及过程中出现的现象 (方便回答者跟着你的流程去做一遍, 即问题复现)
    • 给出错误的地方, 指明哪里出现的现象或结果和自己预期的不一样! (让回答者知道,哪里没达到预期)
    • 提供出现的错误信息, 需要完整, 尽可能更多地截图, 更多的日志,千万别小气地截一张小图,或者之给出日志的一部分( 因为回答者可能很久没做这件事情了,忘记了一些细节,需要靠截图和完整日志来快速回忆起来; 而且根据详细的日志可以快速定位到问题处在哪里)
  • 怎么提问态度显得比较诚恳,就算我再小白,大家也愿意回答

提问模板

提问尽量做到提问优雅,不需要添加多余的语气词,抱怨的词汇,斟酌每一个词和标点符号,站在回答人的角度思考问题,如何让回答的人快速帮助自己解决问题, 字数太少描述不清楚, 字数太多则让人没有耐心

标题

无论在哪里提问(包括QQ群), 给自己的问题拟定一个30个字左右标题, 阐明问题的中心思想,包括:

  • 问题类别, 是问题请教,还是 BUG提交,还是经验分享等等。让大家在满是文字的屏幕上可以立马定位到你想做什么
  • 一句话阐明问题的中心你思想,比如遇到 运行摄像头示例程序,报错 reset fail, 可能是硬件问题吗

所以综合后标题可以是这样:

  • 【MaixPy 提问】 运行摄像头示例程序,报错 reset fail, 可能是硬件问题吗

这样的标题一定不能出现:

  • 啊啊啊啊啊为什么我的板子又不行了(我咋知道,又不是我的板子)
  • 为什么我的代码不能运行了(我咋知道,又不是我的代码)
  • 为什么我的屏幕黑屏了 (可能没电了吧也许大概,可能性太多了)
  • reset fail 是什么错啊 (reset fail是什么)
  • 【MaixPy 提问】 收到了开发板,开发板屏幕是红的,一行小字,为什么呢? (没读文档,一来开问)
  • 我运行xxx程序,出了问题 (什么问题呢)
  • 为什么当我将开机启动脚本注释掉然后改成我的脚本文件然后重启之后屏幕没有任何显示,一直黑屏,我的脚本文件是可以运行成功的 (你得用现象证明你的脚本运行成功了,不然别人可能就是认为你在瞎说懒得理你)

可以这样问:

  • 【MaixPy 提问】我的板子在我接反电源后,现在板子无法启动,怎么判断板子哪里烧毁了,如果可以,怎么救活呢
  • 【MaixPy BUG】image.pix_to_ai 没有对最后一个像素进行转换

内容

首先站在回答者的角度, 如果被问问题:

  • 首先要知道对方要做什么,实现什么目标
  • 为了实现这个目标,他是参考了哪里的步骤做的
  • 实际上采用了哪些具体的步骤,然后在那一步出现了问题, 方便我照着他的步骤去尝试复现一下现象。如果这个问题看起来不好解决,又没有复现的步骤,那可能要花很多时间去复现,先放一放先解决其它问题吧
  • 具体出现的问题是什么,如果他只说出了问题,我怎么知道他出了什么问题,也许是身体不适?所以这很重要,需要让他说明出问题时的现象,并指明与预期有什么不同,不然我还得去猜去对比和预期有什么不同,解决问题的时长又增加了
  • 出问题了,我可能需要他的日志文件,方便我根据日志去看源码等进行分析,不然可能会很难解决问题,那这个问题可以放到后面慢慢看吧

综上, 可以这么提问:

  • 详细阐明自己的目标,想做什么事情, 现象应该是什么样的
  • 我有没有参考哪里的文档、代码或者教学
  • 如何复现错误:具体怎么做的, 每一个步骤写详细,直到问题出现
  • 详细阐述错误出现时的现象,以及和期望的相比哪里不一样,需要证明问题确实出现了
  • 附带日志文件,以及截图,甚至是视频,日志和截图一定要完整,不要只截取一小部分,回答者可能会从你的完整日志和截图中发现一些你没注意到的问题,这很重要!
  • 另外,粘贴代码注意格式,别粘贴后显示很乱,无法入目,尽量能复制后 直接能运行
  • 最后,对解答问题的社区朋友们表达感谢,或者是在提问时就表达感觉(无论是口头还是实际的金钱感谢都可)