我这么牛逼,就是因为我会问问题!!!😎
在工作和生活中,我们总是需要向别人问问题寻求帮助,有一些时候,问问题的和答问题的总是会有一些不爽的事情发生,如下面的几种情况:
- 比如:“我的电脑老是蓝屏,怎么办?”,通常这样的问题90%以上的回答是:“重装吧”。而且有时候一些问题让人无法解答,比如:“我用PHP Curl抓取网页出错了,你帮我看看我的代码”,我通常会非反问,报了什么错吗?
- 另一种情况是,回答问题的人首先对问问题的人的抱怨,你问的问题就不对,或者是你问的这个问题是什么意思,而导致问问题的人在不停地解释,结果花了好长时间来讨论问题本身是什么。
- 还有一种情况是,问的问题太简单了甚至太白痴了,比如你自己试一试,Google或者百度一下,甚至手册上已经有了的文档就知道了的问题,或是问这个问题直接表明了你的无知或是懒惰,问这种问题会相当影响别人对你的印象。
- 第四种情况是,提问者滔滔不绝,扯这扯那,讲了一大堆,听得听累了,最后都不知道你要干什么。
所以,怎么去问问题,怎么问一个好的问题,是一个很重要的事。你提问的技术直接关系到了你是否能够很快得到你满意的答案。
这里有一篇文章推荐给大家《How To Ask Questions The Smart Way》,中文版是《提问的智慧》,下面把其中的几个亮点总结如下:
- 提问前先自己尝试查找答案,读读文档、手册,在Google或者百度上进行一下搜索,看看有没有相似的问题,看看那些方法能不能帮你解决问题,自己去试一试。如果你是程序员,你还应该先学会自己去Debug一下源代码。不然,人家回答你的一定是:RTFM(Read The Fucking Manual),或者:STFW(Search The Fucking Web)。这样的问题很多,基本上不会有人愿意回答这样的问题,因为我觉得问问题的人都把我当成了他的小跟班了。
- 提问的时候,找正确的人或是正确的论坛发问。向陌生人或是不负责的人提问可能会是很危险的。不正确的人,会让你事倍功半。如果你问Linux的人Windows太慢怎么办?他们一定会让你把Windows删了装Linux去的。
- 问的问题一定要是很明确的,并且阐述你做了哪些尝试,你一定要简化你的问题,这样可以让你的问题更容易被回答。对于一些问题,最好提供最小化的重现问题的步骤。
- 你一定要让问题变得简单易读,这和写代码是一样的。只有简单易读的邮件,人们才会去读,试想看到一封巨大无比的邮件,读邮件的心情都没有了。而且,内容越多,可能越容易让人理解错了。
- 你问问题的态度应该是以一种讨论的态度,即不是低三下四,也不是趾高气昂,只有这样,你和你的问题才能真正被人看得起,要达到这个状态,不想让别人看不起你,你就一定需要自己去做好充足的调查,问题问得好的话,其实会让人觉得你很有经验的,能想到别人想不到的地方。
- 不要过早下结论。比如:“我这边的程序不转了,我觉得是你那边的问题,你什么时候能fix?”,或是“太难调试了,gdb怎么这么烂?!”。当你这么做的时候,你一定要有足够的信息和证据,否则,你就显得很自大。好的问题应该是,“我和你的接口的程序有问题,我输入了这样的合法的参数,但是XX函数却总是返回失败,我们能一起看看吗?”,“我看了一下gdb的文档,发现我在用XXX命令调试YYY的时候,有这样ZZZ的问题,是不是我哪里做错了?”
最后最重要,一定要表达谢意。