如果你想解决一个问题,那么你就首先要将这个问题定义清楚。那么问题来了,如何有效的向别人提问呢? 或者说让别人明白你的问题呢?
前因
之前因为买课程加了一些QQ群和微信群,碰到过,有些人会在群里提问,但提问的方式是有问题的。我大致的总结QQ群和微信群提问的几类情况:
- 直接丢了一张截图过来,问怎么解决?
- 直接贴异常信息,问这是咋回事。
- 直接将自己的"问题"贴出来,不讲前因,直接问怎么解决。
- 意图嘲讽的,觉得别人垃圾的,觉得别人每天就是在群里瞎BB的,提了一个含糊不清楚的问题,然后别人还没弄清楚什么情况的,就开始嘲讽别人垃圾的。
我觉得以上的提问方式都是不好的,至少用以上的提问方式,我都会又去了解了解情况,在我理解了提问人提出的问题之后,我才会给出我的答案或者说是解决方案。但这常常很费劲,提问人似乎并不明白群里的人并不是先知,不可能仅凭一张图就立刻定位出问题点,不可能凭你贴的异常信息,立刻就明白你的程序哪里出现了问题。沟通是需要成本的。如果你向别人提问,请减少沟通成本,定义清楚你的问题。
如何有效的向别人提问?
良好的态度
一定要有良好的态度,这是解决问题的前提。一定要记得你是来解决问题的,不是来吵架的。
描述清楚"前因"和"后果"
这个"前因"和"后果"该怎么理解呢? 我认为应当是你在要完成什么的时候,这个完成的东西可以被认为是"前因", 然后我采取什么样的方案去做,然后我以为它会这样,实际是另一种效果。实际的结果可以被人为是"后果"。
这么说比较抽象,举一个例子吧:
小明 是一个新手程序员,某天他的SQL跑不出结果了,然后就直接去问公司的同事了,这个同事就叫小红吧。
过程如下: 小明:我的SQL查不出来结果了? 一条记录都没有了。
小红: 什么意思?
小明: 就是查不出来结果了啊! 还问什么意思。
小红: 我想问下你这个SQL是想做什么吗?这个可以跟我讲下吗?
小明: 就是A表连B表,然后在对B表的数据进行筛选!
小红: 对啊,没问题啊。
小明:所以这我不是来问你了啊。
小红: 你把你的SQL语句发一下。
连接操作先于where之后的条件筛选。
那假如小明是这么问的呢?
小明: 我现在要完成这样一件事情,业务场景是这样的.....,
映射到SQL中就是A表连B表,然后要筛选嘛。
我就用where来进行过滤。
但是奇怪的是B表中有符合条件的记录啊!
为什么查出来还是一条记录都没有呢?
小红: 连接操作先于where之后的条件筛选。
小明:我明白了,谢谢前辈。
双方确认是否理解对方的意思
在描述前因后果之后,你需要再次确认一下,对方懂了你的疑惑点,自己确认描述清楚了问题。然后就可以与对方进行交流了,假如对方没有立刻给你解决你的问题的话。
为了解决问题而来,所以要有良好的态度,为了让别人明白我的问题,我需要描述清楚问题的前因以及后果。为了让别人懂我的意思,我需要跟对方进行确认。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。