查看原文
其他

如何优雅地在Stack Overflow提问?

武培轩 武培轩 2022-03-15

点击上方“武培轩”,选择“设为星标”

技术文章第一时间送达!

今天来给大家聊一聊 Stack Overflow,Stack Overflow 是什么呢?

什么是 Stack Overflow?

Stack Overflow 是一个全球最大的技术问答网站,作为一个程序员不得不知的网站。程序员可以在上面进行提出问题,别的程序员会免费帮大家解答这个问题。

然后这个问题还可以被打分,比如说顶,这个问题就会被顶上去,就会被更多人搜索到,基本上遇到的问题都可以在 Stack Overflow 上找到答案,所以很少会去 Stack Overflow 上进行提问,但是提问问题作为一个程序员基本技能,还是要聊一聊的。

如何优雅地提问?

在你准备要提出技术问题前,请先做到以下事情:

1.尝试在你准备提问的论坛的旧文章中搜索答案。2.尝试上网搜索以找到答案。3.尝试阅读手册以找到答案。4.尝试阅读常见问题文件(FAQ)以找到答案。5.尝试自己检查或试验以找到答案6.向你身边的大佬打听以找到答案。7.如果你是程序开发者,请尝试阅读源代码以找到答案。

当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。

在了解了上面的内容后,接下来,我们来看一下提问的三要素:

•环境描述:操作系统,JDK 版本,软件/工具版本等可能和问题相关的信息•问题描述:描述要解决的问题和思路。可能要解决的问题或者思路本身就有问题。如果问题和程序执行的错误有关,则要把错误信息描述详尽,包括 exception trace 等•代码+配置:和问题可能相关的代码和配置

我认为在 Stack Overflow 上提问的核心:

要自己先思考,先尝试解决。问题要清晰明了有条理,要让想回答的人能够重现所说的问题。而不是甩手掌柜一样不清不楚的问:XX 应该怎么搞?XX 应该怎么弄?XX 程序运行出错怎么改?像这种一句话的提问,一般不会有人想去回答,被人踩几下,这个问题就消失了。

提问/回答笔记

提问:

1.In my limited experience with .. 谦虚表达自己在某方面的经验2.I am searching for a long time on net. But no use. Please help or try to give some ideas how to achieve this. 找了很久未果,求助攻3.after searching around for a decent XX solution and found that everything out there was difficult to use. 找了N种方法都发现太TM难了。4.I' ve looked around and apparently I've got the choice between these libraries/ solutions: 说明自己是努力搜索过的,然后目前有了哪几种方案5.which seems it's a promising solution. 看起来是一个好解决方案6.I' ve tried multiple variations of this, but none of them seem to work. Any ideas? 试了很多种方法都无效,求助7.Wanted to know if it's good practice to do that and what would be the best way to do that? 我的做法是否正确,是否有更好的法子?8.Thanks in advance. 先行谢过

回答问题:

1.If I understand you correctly, you want to xxx 如果我没理解错,你想。。2.Could you provided more details about your use case ? Can you provide more xml and code setting the url ? 提供更详细

当别人回答你的问题后,你对回答的评论:

Thank you for your answer sincerely 感谢回答

总结

提问问题是程序员的基本技能,如何能够更好地去提问需要我们在一次次的提问中成长,把英文学好也是不可或缺的,不仅在 Stack Overflow 上提问如此,好多框架的博客都是英文写的,因此大家可以多多阅读外文博客,逐步提高自己的英语水平。

参考

How To Ask Questions The Smart Way

如何优雅地使用 Stack Overflow?


       
   为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?Java 中的 final、finally、finalize 有什么不同?如何选择消息队列?

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

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