不会提问就很难通过问问题解决问题,失败的提问无论对于你还是对于看问题的人来说是严重的身心伤害。
我不常问问题,但我是身经百战了,见的低质量问题太多了,今天我感觉很有必要传授一点提问的经验。
先来看看常见的低效做法
这里复现一下通常情况下,大家提问前的场景
- 想做一件事
- 设计一套方案(或者不设计方案,先尝试想一些看起来有用的事)
- 按方案(直觉)开始实际去做
- 做到某一步的时候被一个问题卡住了
- 自己想办法尝试解决
- 发现自己解决不了,就找人问
在这之后,很多人提问时,我往往能够发现这样一些问题
- 信息不全(只给出自认为有问题的地方,不给出完整信息)
- 目的不明确(声称目的是想做一件事,其实是想通过这件事达到其他真正的目的)
- 沉迷于细节(自己解决问题的过程中钻牛角尖,拘泥于不重要的细节,导致不反复提问就无法解决问题,浪费时间)
- 提供不完整或不实信息(为了面子,或者出于对对方的不完全信任,隐藏或编造某些信息,导致问题解决不了)
一个典型的反面例子:
[还未学会正确提问的楼主]:
萧大 你有web服务器 方面的资料么 想用Python 构建一个 web服务器
[萧井陌]:
打开百度 输入 python web 服务器
做个预研再来问人吧.......
不要把别人当搜索引擎
[还未学会正确提问的楼主]:
我知道 搜索过
不会犯 这种低级错误 都老司机了 我想让你推荐个 比较系统的web服务器 理论上的 书籍之类的
[萧井陌]:
你意思是你想造一个web服务器?
那为啥不能直接问呢?
[还未学会正确提问的楼主]:
是的 想造一个简单的 web服务器 轮子
[萧井陌]:
你就搜 用python写web服务器或者直接看flask初版源码
[还未学会正确提问的楼主]:
搜了 找到一个老外的 伯乐网翻译的 正在看
[萧井陌]:
那你还有什么问题呢?
[还未学会正确提问的楼主]:
想问你 有木有更系统一点的
[萧井陌]:
没有
这个世界上最系统的东西就是教育部的大纲、教材和配套习题
因为政府收税 并且有责任心
如果你能把你的话一次性描述清楚 还需要这么麻烦地浪费双方的时间吗?
「我想自己用python造一个web服务器的轮子,通过搜索我找到了一个外国教程的中文翻译版,我想问一下是否有更系统的资料?」
你如果这样问 不就可以一次性解决你的问题了 你开心别人也开心
这样的话我就可以直接回你 没有
而不用诱导性地问出所有的前置条件
不要觉得我是在敷衍打压你 这是很重要的技能
如果你能认真思考这段话,将会得到一笔宝贵的财富
接下来看看有效的做法
在一个双赢的提问中,需要注意以下原则
- 尽量完整的给出问题相关信息,不要遗漏和隐瞒
- 让自己的眼光回到全局,而不要局限在细节中
- 不要忘记自己的最初目标,以免解决问题的过程中走偏
具体来说,对于我(或是其他求助对象),作为协助解决问题的一方,这些信息是必须要你来提供的:
1,你最初的目的是什么?(你最终想做一件什么事?)
你的做法可能是错误的,描述需求可以帮助他人发现你南辕北辙的解决方案。
你的需求可能是错的,给出目的可以帮助他人发现你错误的需求。
_
_2,在你的计划中,你打算通过怎样一系列的步骤来达成这个目的?
描述思路有助于他人搞懂你在做的事情、搞懂你遇到的问题
你解决问题的想法和思路可能是错的,描述清楚有助于发现错误
3,你在这个过程中,进行到哪一步的时候遇到了什么问题?尽可能详尽的给出遇到这个问题时的相关信息(包括你在试图解决的过程中得到的信息)
对具体信息的描述可以帮助他人分析具体问题,所以要给出错误的具体、完整的信息,而不是残缺的截图或者零散的几句描述
尽可能的描述你的操作步骤,以便让对方可以重现出你遇到的错误,这样才能针对具体的问题进行进一步的解答
4,给出具体的完整可执行(或可重现问题)的代码(如果有的话)
如果不尽量给出完整、简化、可运行、可重现问题的代码,对方很难定位具体问题,也就无从解决问题了
接下来就尝试用这个工具修正一下上面的错误例子:
你最初的目的是什么?(你最终想做一件什么事?)
想要用python造一个web服务器的轮子
你打算通过怎样一系列的步骤来达成这个目的?
先尽可能找到更好的资料
然后照着资料完成这个项目
你在这个过程中,进行到哪一步的时候遇到了什么问题?尽可能详尽的给出遇到这个问题时的相关信息(包括你在试图解决的过程中得到的信息)
在进行第一步的时候,上网找了一些资料
目前正在看一份翻译的国外材料(给出这份材料)
对这份资料系统性不够满意,想要一份更系统的材料
给出具体的完整可执行(或可重现问题)的代码(如果有的话)
(空)
实际上,这个方法不仅仅只能帮助你向他人求助
经过之前两年对提问表格的推广,收到很多反馈说,在利用这个工具提问的过程中直接就想明白了自己的问题。并不是自己没能力解决问题,而是没能把思路理清楚
这也算是一个意外收获
转自CodeFaster