一个不善交际的码农, 谈提问的艺术

经常有码农新人问我, 该如何提高自己的技术.

我的内心万马奔腾过后, 平静如水.

我也遇到了瓶颈期, 不知道怎么继续提高了, 如果我告诉你怎么去做, 那么上限也就只是我这样了.

不管怎么样, 多学, 多问, 肯定是没有错的.

但是我发现了一个很严重的问题, 那就是有些码农新人们, 可能连问都不会.

我没用过, 但我看一眼就会, 你到底想问什么

我之前加过很多技术交流群, 里面有新人, 也有很多大牛.

没见过世面的新人们, 通过群昵称肯定是分不出来谁是大牛的.

群里经常会有新人问 "有人用过 ** 吗?" 之类的问题.

恕我直言, 我就没见过这样问有能得到答案的.

很多人问 "用过 vue 吗", "用过 react 吗", 最后都会发现, 他们的问题都不会出在 vue 和 react 上, 而是他们连 js 基础都不会.

你问 "用过 vue 吗", 会把刚刚学会用 vue 的人炸出来, 但是我相信, vue 作者肯定不会出来理你.

提问是为了解决问题, 而不是为了刁难对方

我有个朋友, 技术能力也不算差, 但是每次问我问题的时候我都很气.

他经常一个代码片段截图发过来, 你看看这什么什么怎么不对.

我承认, 我能力没有那么强, 看不出来哦.

我和你一样, 也会遇到 bug, 我调试 bug 也是把代码运行起来, 打开控制台, 查看报错, 定位问题的.

凭什么你就认为我能干瞪眼就能把问题瞪出来.

当你请教一个前辈问题的时候, 他回答不出来, 你会暗地里开心, 他也不过如此吗?

No BB, show your "ALL" code.

问题要分场合

有人在 QQ 上问我, 如何提高代码品味.

你是想让我给你百度一篇文章发给你呢, 还是现场写一篇文章发给你?

首先要分清, 提问问题和交流问题是不一样的.

我们可以在技术群里问 "如何提高代码品味", 大家伙们就七嘴八舌的说出自己的观点, 这叫交流.

如果你没有自己的看法, 向一个前辈问出这样一个问题的时候, 别人是不可能通过一两句话跟你说的清的.

我们提问问题的途径有很多:

  • 技术交流群
  • 知乎, 论坛
  • 分享会的现场提问
  • 问身边的同事
  • 通过即时通讯问大佬

同样, 问题种类也有很多.

.

"如何提高代码品味" 这种问题, 就是属于没有立即生效结果的问题.

它适合在技术交流群里提问, 你会得到更多角度的答案碎片.

它也适合在知乎或者论坛提问, 有闲情逸致的人可能就会因此给你写一篇文章, 如果我看到了, 就搬运 如何提高代码品味 这篇文章发给你.

它也适合分享会的现场提问, 分享者很乐意讲这一类的问题.

但是它就不适合即时通讯提问, 也不适合在工作时间问同事, 当然如果你们因此闲聊起来不会被骂就没关系.

..

而像解决 bug 这种问题, 就最适合问身边同事了.

他可以坐在你身边, 看你重复操作一遍, 也可以现场调试你的代码.

通过即时通讯的话, 请直接把 git 仓库发过来.

我要本地运行, 重要的事情说三遍, 本地运行, 本地运行.

如果是在技术论坛提问, 你有充足的时间补充足够的资料.

但是, 请不要在技术群提问 "我这是遇到了什么 bug?".

...

"如何对一个数组排序", "如何写多行省略号".

这种一搜索就全网都有的问题, 你在技术群里问, 只是想偷懒吧.

说白了, 你在哪儿问都不合适, 除非你是面试官, 想考核我基础扎不扎实.

如何提问, 如何学习

如果你真的学会了如何提问, 你就会发现技术论坛或者 github issues 是最适合提问问题的地方.

因为这不是技术论坛或者 github issues 有什么特别之处.

而是你在提出问题的时候, 已经在尝试自己定位问题, 已经有足够的能力问出高质量/更精确的问题.

如果你想问人生哲学, 如 "该如何提高自己的技术", 那就多参加技术分享会吧, 多现场问问前辈.

或者多看看别人的博客, 想出文章的都出了, 何苦去为难一个不太想写文章的人.

通过技术群, 即时通讯问问题, 多思考一下, 别人为什么不想回答你.

TAGs: