查看原文
其他

提问技巧 | 开发者如何有条理的提问

strongerHuang strongerHuang 2021-01-31
关注、星标公众,不错过精彩内容

整理:黄工

素材来源:网络

参考来源:
https://segmentfault.com/a/1190000007959880


自创建技术交流群以来,我作为群主,维护好一个群需要指导群友正确提问才能促进群里有良好的氛围。

但我发现一个问题,少数读者提问方式存在一些问题,导致问的问题没有得到解答。

今天针对技术开发者,分享点关于提问技巧的内容,希望作为开发者的读者下来可以思考一下这些问题。

主要包含:


一. 遇问题先搜索
很多时候你的问题别人已经遇到过了,所以别人可能提过问,或者总结过(比如在某篇博文里),或者在相关技术文档能找到相关答案,搜索引擎足以帮你找到相关的内容。

1. 态度——别做伸手党!
什么是伸手党?
没问过搜索引擎、没查过技术文档、没自己的思考、没自己尝试解决过,而只是想要最后的代码,答主给了思路,还要求代码!

总之,他们只是需要有个人能帮他们填个空好交差,因为这样最安逸。

换位思考
平时生活中,与身边的同事、朋友这些都是熟人,说话随意一点没问题。

但群友之间基本都是陌生人,你提问是需要得到别人帮助,你不能像大爷一样说话很硬,不要觉得别人应该帮你。

所以,提问需要换位思考,说话尽量语气委婉,最好有一些(尊敬的)前缀,比如:大家好、您好、老师好等。

2. 搜索

首先,大家肯定是想到搜索引擎,对的,搜索引擎能帮你搞定大部分的事,甚至如果花在搜索引擎上的时间超过了你实际码代码的时间,话句话说是“面向搜索引擎编程”。


A.搜索引擎

国内百度我之前说过,适合娱乐八卦新闻。我首先推荐Google(当然也有一些优秀搜索引擎),只是谷歌搜索,可以看我之前文章《你平时搜索使用百度,还是谷歌?》安装一个插件就行。

(当然,建议大家抽空搞个梯子,但这个东西不能公开说。我付费和免费的都在用,前段时间找到一个每天免费200M,用了一段时间效果还不错。这样吧,今晚20点在朋友圈分享,22点删除,没加我微信的可以后台回复“微信”,围观我朋友圈)


B.官方

如果是针对某一项技术的问题,建议去官方找他们的在线文档,官方文档永远是最靠谱的,不过要注意版本。


C.社区

推荐去官方合作,或者一些比较对口的社区。


当然之前文章《学会过滤干扰信息》也说过,搜索或者查找时注意过滤有效信息。


3. 别惧怕英文

汉语博大精深,但是不得不承认,开发的世界里,英语还是母语,英语不好也没啥,现在各种字典的词库都是在线每天更新的,不会拼或者不认识就查一下就好了。


不惧怕英语的心态能帮你解决很多问题。在提问上,有些技术方向国内是小众搜不到解决方式的,那么可以尝试把问题翻译成英文再google的,我很多问题都是用英文搜索到的;此外,有些解答,你需要看懂,有些文档还没中文的,你需要看,那么就必须硬着头皮看下去的。心态不惧怕,再有字典帮助,没啥的。


二. 再思考和尝试

这一步我单独拎出来说,不管是搜索也好,社区提问也罢,永远不要认为一定可以找到直接解决问题的方式(代码)。


有时候,搜索引擎帮你找到一些类似的文章或者问题,你虽然不能立马解决你的问题,但是可以从中获得启示,然后加上你自己的思考,亲自做一些尝试,问题可能就被你K.O了。


一定要先搜索,再尝试,后思考,再搜索尝试思考,直到你觉得是时候提问了。


三. 组织你的提问

我上面说了,平时熟人面对面交流,可能随意点没什么大问题。但在网络上,与不熟的人之间交流,问题是否组织好直接影响最终回答效果。


怎么组织好一个问题,这是提问中最关键的一步,也是很多人忽视的一步,很多问题组织好,导致被忽视或被踩。


1. 问什么——这个自己一定要清楚

在提问的时候,自己一定要清楚自己要问什么,是问思路?还是某个功能的代码片段?还是内在原理?还是在什么环境中?...要表达清楚。


比如,我经常在我的技术交流群看到类似问题:有没有人用过xxx?


这个问题的答案很简单:用过/没用过。显然这个并不是提问者想要的答案。


2. 主要问题 + 分点描述
正确提问的方式是把问题用简短的话把主要问题描述出来,再分点描述细节内容。

如果长篇大论且杂乱无序,如果是你,你有耐心看下去吗?

记得一点,标题惜字如金,别说废话,别人时间珍贵!

3.有代码尽量给出“减肥后”的代码

大部分问题都需要上一部分代码的,没有代码就是空对空,鬼知道你经历了什麽!


但是上代码不是ctrl+A,然后ctrl+c,再用ctrl+v。


和你的问题直接相关的可能就10多行代码,结果你一定要把你整一个文件的代码都搬上来,华丽丽上百行,看着就累,更别说代码排版还是混乱的,不对齐的,看着就没食欲。


适当的时候,可以精简一下你的代码,或者把截图放出来。特别是在微信、QQ群里,你直接复制粘贴出来的代码,一般人都不想看你代码。


四. 跟进你的提问

提问了之后无非是这么几种结局:没人回答、有人回答但是不够直接、回答能合理解决问题、回答的都没解决问题后来自己解决了。


1. 没人回答

要么你不够耐心,要么你的提问大家没懂,要么你的问题比较小众。


你需要先反思下自己,自己有没有把问题描述清楚,有没有没有交待的细节,如果这方面没有问题,那么可能你的问题比较小众,可能尝试用英文去搜搜看一些国外的站点。


2. 没有直接用代码回应

可能答主只是提供一个思路,那么如果是自己没想到的,可能去试试看,而不是没见到代码就追问“那么这个代码该怎么写呢”,实在不会写,你也可以在问题描述里po一些自己的代码,别伸手就要代码。


3. 及时回复问题下的回答

不管有没有解决你的问题,对于一些上心的回答,要及时回应,至于一些很水的回答就算了,自己把握,回答的方式能不能解决你的问题,不能是怎么个不能,这样可以让答主回过来审视自己的回答,每个人都有疏忽的时候。


如果有回答能很好地解决自己的问题,记得及时道谢(一个好习惯而已)和采纳。


4. 如果是没人有解决方式,后来自己解决了

回来补上你的解决之道吧,因为可能相同的问题,世界的某一个角落有人和你一样在坑里徘徊...


五. 小结

遇到问题,先搜一些资料,再思考和尝试,自力更生,丰衣足食,还是解决不了。那就真的是一个问题,好好组织你的提问,把问题背景、具体问题、你的尝试、你的代码交代清楚,最后别个问题就消失,N年后再提个问题再消失...


最后,没有加入我技术交流群的读者可以在后台回复“加群”,一定要备注“暗号”。(前面遗漏了部分加群的读者,可再次给我发送“暗号”)


‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:

精选汇总 | 目录 | 搜索

为什么Linux比windows更适合嵌入式系统

用于MCU的uCLinux操作系统与Linux有什么区别?


关注微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容。


长按识别图中二维码关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存