在我们写程序的时候,经常会遇到各色各样的问题,在国内,小伙伴们经常去知乎、CSDN、博客园、思否、安卓巴士等地方提问并获得答案。

这些地方汇集了很多优秀的、爱分享的国内资源。小编比较自豪的一件事情就是:当初学习dubbo期间,因为一个数据关闭错误一直找不到正确的解决方式,就顺手把自己解决问题的步骤写下,并附上参考资料中的方法,算是把那类问题做了一个增强版的总结,没想过几个月后,有位粉丝专门找上来感谢我,帮他解决了疑惑。

技术人,就是那么容易得到满足。得到别人的一句谢谢,开心的像个傻瓜。前行路上,爱分享、把资源提供给更多的人,是最开心和愉快的事情。

现在是移动互联网的时代,倘若我们能链接到更多的人,倘若我们来连接的不仅仅有国内,还有国外,那岂不是更好?那么如何在国外得到自己想要的答案?我们不妨去Stack Overflow这个平台去试试,优秀的问答平台,你们懂的。

但是提问也是一门艺术,所以赶紧来看看他们的总结,助你更好地在平台上提问。

原文地址:https://medium.com/better-programming/how-to-ask-a-question-that-gets-answered-on-stack-overflow-45f87f1a2fef

作者:Nabil Nalakath

时间:2019.11.12

当有人告诉我他们在开发中遇到的问题时,在大多数情况下,我的直接答复是:“您在Stack Overflow上发现了什么?”

但是,很多开发者会给出奇怪的答案,例如:“我不知道如何使用它,我因提出较差的问题而被禁止,人们总是不赞成我的帖子,或者给我有关如何提问的链接,”等。

Stack Overflow是互联网上最有用,访问最多的网站之一,但它也是互联网上最残酷的平台之一。

如果您犯了一个错误或提出了一个愚蠢的问题,人们不会理财你,这就是该平台自成立以来一直保持其标准的方式。因此,别指望有什么收获。

相反,我们需要习惯它并改变提问的方式。够了,让我们来看看您在提问时要注意哪些重要事项。

发布问题时要注意的事项

  1. 标题要具体(不要在标题中张贴整个问题或广泛的问题)

  2. 使用正确的标签(这对于快速获得答案非常重要)

  3. 张贴代码的相关部分,并在问题编辑器中使用代码标签将其格式化为代码(如果代码不是整齐的,大多数人都不会去回答)

  4. 如果您要解释运行时出现的问题,请尝试发布屏幕截图

  5. 如果有日志的话,发布正确的错误日志(特别是在应用崩溃的情况下)

  6. 如果您的部分输出没有错误,并且想要对输出进行特定的修改,而且您似乎无法弄清楚如何,将问题分为两部分,在问题中清楚提及:

  • 你现在有什么
  • 你需要达到的目标
  1. 如果与UI相关,请发布线框屏幕截图,如果不可用,请尝试在现有的UI屏幕截图中使用诸如Paint之类的简单工具标记所需的内容或您要进行的更改

  2. 如果您认为版本代码可能与解决问题有关,请发布版本代码(例如:果问题仅在旧版本的PHP或Android中发生,而在新版本中则没有)

发布时要避免的错误

  • 切勿发布代码中包含品牌名称或公司名称的部分

  • 裁剪屏幕截图以仅显示相关内容

  • 如果代码包含部分内容,例如键或密码(例如PHP邮件程序代码中的电子邮件密码),请始终用****或特殊字符替换密码字段

  • 不要发布自己创建的特殊算法或应用引擎代码,除非您不介意其他人使用它或将其开源

坏问题和好问题

让我们看一下146票赞成的这篇文章:

Medium高赞系列,如何正确的在Stack Overflow提问-LMLPHP

地址:https://stackoverflow.com/questions/3905734/how-to-send-100-000-emails-weekly?source=post_page-----45f87f1a2fef----------------------

如您在本示例中看到的,已发布的问题不是特定问题。如果您要这样的教程类型答案,那么Stack Overflow并不是一个好地方。

以该示例为例,在这种情况下,用户要求每周使用PHP向100,000个用户发送一封电子邮件。但问题并没有显示用户方面的任何努力。

到目前为止,还没有提及用户已经尝试了什么或他们面临的任何特定错误。这是不能回答问题的完美范例。

另外,这里有一些很好的示例问题供您参考。

Medium高赞系列,如何正确的在Stack Overflow提问-LMLPHP

地址:https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-processing-an-unsorted-array?source=post_page-----45f87f1a2fef----------------------

Medium高赞系列,如何正确的在Stack Overflow提问-LMLPHP

地址:https://stackoverflow.com/questions/51096796/how-to-enable-horizontal-scrolling-for-chart-js-in-ionic?source=post_page-----45f87f1a2fef----------------------

Medium高赞系列,如何正确的在Stack Overflow提问-LMLPHP

地址:https://stackoverflow.com/questions/47923524/app-is-crashing-on-some-devices-android-studio-shows-out-of-memory-exception-er?source=post_page-----45f87f1a2fef----------------------

如您所见,即使有人不回答,如果您以适当的方式提出问题,您仍然会获得赞成票

致谢

最后,如果您得到查询的答案并且符合您的要求,请将其标记为可接受的答案以关闭问题。

这将帮助发布答案的人获得声誉,并鼓励他们帮助更多人。

毕竟,平台的存在仅是因为这些乐于助人的无私奉献者愿意为您提供帮助,因此这是您为他们所做的最少的事情。

结尾

提问是一门艺术,小编也经常遇到很多提问看不懂、看不明白的情况。无论是在团队里还是平时和大家交流的过程中,多多少少会遇到互相不理解的情况,所以,做技术的我们实在是太难了,哈哈。

当然,如果学会了一些必要的技巧,提问对我们来说还是just so so,毕竟共同语言这么多,虽然问题形形色色,但是茫茫人海,总会有人遇到你遇到的问题,总存在能解决问题的方法。

这是一篇很好的提问的范例,不仅仅是在Stack Overflow上,包括我们自己国内的平台、自己项目组、都可以用类似的技巧来提问,能大大节省沟通成本,获得更高效率。

05-11 10:59