写点什么

提问也是一门学问

用户头像
xcbeyond
关注
发布于: 2021 年 01 月 23 日
提问也是一门学问

混迹于各大技术群,下面的这些场景,你肯定经常遇到。


小明:哪位大哥能帮忙看下这个问题吗?为什么数据还是不能插入?

小明:[一张图]


小白:有大佬在么?关于 xx 有人会么?


小明:[一张图] 或者 [一小段代码]

小明:这个为啥报错啊?

……


面对这些提问,热心回答者最初更多的是各种猜测:“你说的 xx 是这个 xx 意思?”、“能不能说下你是如何使用的?”、“你有没有检查过 xx?”……


经过一大圈的询问,才搞清楚对方想问的问题!


归更到底,是你不会提问,总是零散的提问、不愿一次性描述问题发生的场景、已经做过哪些排查等等。所以,才有了大家的各种猜测、推断,最终浪费了别人的时间,回答的可能却不是你想要的结果。


今天想和大家一起谈谈关于提问的这些事,如何高效提问,便于更快、更直接的诉求你的问题。


提问也是一门学问。


如果你是一个经常游逛在 github 上,特别是一些外国优秀的开源项目,在issues中你可能就会找到答案。

提问言简意赅,没有废话,例如:


Describe the bug:

I'm trying to upload a file and stream it through a filter to a client of a object storage. It works OK with very small files, but it seems like the gateway ignores slight bigger files.

org.springframework.boot:spring-boot-starter-test:jar:2.0.0.RELEASE

org.springframework.cloud:spring-cloud-starter-gateway:jar:2.0.0.M9

org.springframework:spring-core:jar:5.0.4.RELEASE


Sample:

https://github.com/RichardMarto/cloud-gateway-test/tree/master


关于提问,有以下建议,可供参考:

1、提问前


在提问题之前,先做以下事:

  • 尝试搜索互联网寻求答案。

  • 尝试阅读相关手册或官网寻求答案。

  • 尝试阅读“常见问题文档”(FAQ)寻求答案。

  • 尝试自己检查或排查来找到答案。


提问时,请先做了以上这些事情。


运用某些策略,比如用谷歌(Google)搜索你遇到的各种错误提示, 这样很可能直接就找到了解决问题的线索。 即使没有结果,在寻求帮助时提一句“我在谷歌中搜过下列句子但没有找到什么有用的东西” 也是件好事,至少它表明了搜索引擎不能提供哪些帮助。将搜索关键词与你的问题及可能的解决方案联系起来,还有助于引导其他有类似问题的人。


别着急,不要指望几秒钟的谷歌搜索就能解决一个复杂的问题。读一下常见问题文档。在提问之前,再思考一下问题。


认真地思考,准备好你的问题。轻率的提问只能得到轻率的回答,或者压根没有。在提问时,你越是表现出在此前做过思考与努力去解决自己的问题,你越有可能得到真正的帮助。


注意别提错问题。


“有没有人能指个方向?”,“我这样写是不是不对?”,“我应该查哪个网站?”,通常要比“请给出我可以用的完整步骤”更容易得到回复。


2、提问时

2.1 明确问题


问题主题是你在五十个或更少的字以内吸引大家注意的黄金机会,不要用诸如 “请帮我”之类的唠叨浪费机会。


使用主题的好惯例是“对象──偏差”(式的描述),许多技术支持组织就是这样做的。在“对象”部分指明是哪一个或哪一组东西有问题,在“偏差”部分则描述与期望的行为不一致的地方。


愚蠢的问题:


救命啊!我的这段代码运行不了,谁能帮我看看啊!


明智的提问:


各位,我下面这段代码是这样写的,理论上运行的结果应该是 xx,可是现在却运行不了。我通过 Debug 调试也没有发现啥异常,有人能帮我看看或者给个思路么?

2.2 清楚表达你的问题


清楚、良好地表达你的问题非常重要。花点额外的精力斟酌一下提问字句,确保别人能够看得懂。

2.3 准确描述问题


  • 仔细、清楚地描述问题的现状。

  • 描述问题发生的环境(操作系统、应用程序、编程语言及任何相关的内容)。

  • 描述提问前做过的研究及其理解。

  • 描述提问前已经做过哪些尝试或排除。

  • 描述出现问题前后,做了哪些修改。

  • 如果可能,可提供程序便于回答者直接重现问题。


2.4 关于代码的提问


别要求他人能直接帮你写代码。


张贴几百行的代码,然后说一声“它不能运行”,这只能让人反感,没人愿意理会你。只贴几十行代码,然后说一句“在第七行以后,本应该显示,但实际出现的是 xx”,这样提问非常有可能让你得到回复。


如果你只是想让别人帮忙审一下代码,在最开头就要说出来,并且一定要提到你认为哪一部分特别需要关注以及为什么。


2.5 礼貌提问


礼貌一点,使用  和 谢谢 之类的,让别人明白你感谢他们无偿花时间帮助你。


3、解决后


问题解决后向所有帮助过的人追加一条消息,让他们知道问题是如何解决的,并再次感谢大家。


发布于: 2021 年 01 月 23 日阅读数: 28
用户头像

xcbeyond

关注

不为别的,只为技术沉淀、分享。 2019.06.20 加入

公众号:程序猿技术大咖,专注于技术输出、分享。

评论

发布
暂无评论
提问也是一门学问