Medium高赞系列,如何正确的在Stack Overflow提问
在我们写程序的时候,经常会遇到各色各样的问题,在国内,小伙伴们经常去知乎、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是互联网上最有用,访问最多的网站之一,但它也是互联网上最残酷的平台之一。
如果您犯了一个错误或提出了一个愚蠢的问题,人们不会理财你,这就是该平台自成立以来一直保持其标准的方式。因此,别指望有什么收获。
相反,我们需要习惯它并改变提问的方式。够了,让我们来看看您在提问时要注意哪些重要事项。
发布问题时要注意的事项
标题要具体(不要在标题中张贴整个问题或广泛的问题)
使用正确的标签(这对于快速获得答案非常重要)
张贴代码的相关部分,并在问题编辑器中使用代码标签将其格式化为代码(如果代码不是整齐的,大多数人都不会去回答)
如果您要解释运行时出现的问题,请尝试发布屏幕截图
如果有日志的话,发布正确的错误日志(特别是在应用崩溃的情况下)
如果您的部分输出没有错误,并且想要对输出进行特定的修改,而且您似乎无法弄清楚如何,将问题分为两部分,在问题中清楚提及:
- 你现在有什么
- 你需要达到的目标
如果与UI相关,请发布线框屏幕截图,如果不可用,请尝试在现有的UI屏幕截图中使用诸如Paint之类的简单工具标记所需的内容或您要进行的更改
如果您认为版本代码可能与解决问题有关,请发布版本代码(例如:果问题仅在旧版本的PHP或Android中发生,而在新版本中则没有)
发布时要避免的错误
切勿发布代码中包含品牌名称或公司名称的部分
裁剪屏幕截图以仅显示相关内容
如果代码包含部分内容,例如键或密码(例如PHP邮件程序代码中的电子邮件密码),请始终用****或特殊字符替换密码字段
不要发布自己创建的特殊算法或应用引擎代码,除非您不介意其他人使用它或将其开源
坏问题和好问题
让我们看一下146票赞成的这篇文章:

地址:https://stackoverflow.com/questions/3905734/how-to-send-100-000-emails-weekly?source=post_page-----45f87f1a2fef----------------------
如您在本示例中看到的,已发布的问题不是特定问题。如果您要这样的教程类型答案,那么Stack Overflow并不是一个好地方。
以该示例为例,在这种情况下,用户要求每周使用PHP向100,000个用户发送一封电子邮件。但问题并没有显示用户方面的任何努力。
到目前为止,还没有提及用户已经尝试了什么或他们面临的任何特定错误。这是不能回答问题的完美范例。
另外,这里有一些很好的示例问题供您参考。

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

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

地址: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上,包括我们自己国内的平台、自己项目组、都可以用类似的技巧来提问,能大大节省沟通成本,获得更高效率。
本文由博客一文多发平台 OpenWrite 发布!
Medium高赞系列,如何正确的在Stack Overflow提问的更多相关文章
- java高并发系列 - 第6天:线程的基本操作
新建线程 新建线程很简单.只需要使用new关键字创建一个线程对象,然后调用它的start()启动线程即可. Thread thread1 = new Thread1(); t1.start(); 那么 ...
- java高并发系列 - 第15天:JUC中的Semaphore,最简单的限流工具类,必备技能
这是java高并发系列第15篇文章 Semaphore(信号量)为多线程协作提供了更为强大的控制方法,前面的文章中我们学了synchronized和重入锁ReentrantLock,这2种锁一次都只能 ...
- java高并发系列 - 第21天:java中的CAS操作,java并发的基石
这是java高并发系列第21篇文章. 本文主要内容 从网站计数器实现中一步步引出CAS操作 介绍java中的CAS及CAS可能存在的问题 悲观锁和乐观锁的一些介绍及数据库乐观锁的一个常见示例 使用ja ...
- java高并发系列 - 第22天:java中底层工具类Unsafe,高手必须要了解
这是java高并发系列第22篇文章,文章基于jdk1.8环境. 本文主要内容 基本介绍. 通过反射获取Unsafe实例 Unsafe中的CAS操作 Unsafe中原子操作相关方法介绍 Unsafe中线 ...
- java高并发系列 - 第23天:JUC中原子类,一篇就够了
这是java高并发系列第23篇文章,环境:jdk1.8. 本文主要内容 JUC中的原子类介绍 介绍基本类型原子类 介绍数组类型原子类 介绍引用类型原子类 介绍对象属性修改相关原子类 预备知识 JUC中 ...
- java高并发系列 - 第4天:JMM相关的一些概念
JMM(java内存模型),由于并发程序要比串行程序复杂很多,其中一个重要原因是并发程序中数据访问一致性和安全性将会受到严重挑战.如何保证一个线程可以看到正确的数据呢?这个问题看起来很白痴.对于串行程 ...
- Java高并发系列——检视阅读
Java高并发系列--检视阅读 参考 java高并发系列 liaoxuefeng Java教程 CompletableFuture AQS原理没讲,需要找资料补充. JUC中常见的集合原来没讲,比如C ...
- 年薪60W的Android程序员究竟多累、多苦?一条高赞评论扎了无数人的心
为啥经常听到程序员朋友说自己太辛苦了.太累了,其实原因很简单:干活苦.竞争大.技术致富难. 干活苦: 有新闻说晚上十点某领导在微信群要求下属在十分钟内回复,一员工因休息早而没及时回复被裁了. 对于程序 ...
- elixir 高可用系列 - 目录
1. elixir 高可用系列(一) Agent 2. elixir 高可用系列(二) GenServer 3. elixir 高可用系列(三) GenEvent 4. elixir 高可用系列(四) ...
随机推荐
- 信息传递 NOIP2015 day1 T2
题文: 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一轮 ...
- yum安装出现No package vim available解决办法
[root@iZwz96wgquf8g6okusxr0uZ yum.repos.d]# yum install yum-downloadLoaded plugins: fastestmirrorLoa ...
- Vue-CLI项目-vue-cookie与vue-cookies处理cookie
08.31自我总结 Vue-CLI项目-vue-cookie与vue-cookies处理cookie vue-cookie 一.模块的安装 npm install vue-cookie --save ...
- 我家很管事的猫——mycat初步部署实践与问题排查
mycat,阿里出品的mysql中间件,提供读写分离和分库分表方案.项目中主要使用的是其读写分离功能. [如何部署?] 本文只采用并测试了双主从模式,配置看这一篇足矣: https://www.cnb ...
- NDN helper 学习记录
1.StackHelper 主要用于在请求的节点上安装ndnSIM网络堆栈, 提供一种简单的方法来配置NDN模拟的几个重要参数.(官方解释) 其实就是给结点装上堆栈 方法: 全部结点一次性安装(比较常 ...
- nginx::certbot制作免费证书
环境 Ubuntu8.04apt-get update apt-get install software-properties-common add-apt-repository ppa:certbo ...
- perftools::tcmalloc
安装libunwind wget http://ftp.yzu.edu.tw/nongnu/libunwind/libunwind-1.1.tar.gz ./configure make make i ...
- pytest4-单文件使用fixture(Fixtures as Function arguments)
Fixtures as Function arguments (fixture作为函数参数传入)Test functions can receive fixture objects by naming ...
- vue-cli3安装jQuery
注:vue-cli3.0 没有了 webpack.config.js 配置文件,取而代之的是集合在 vue.config.js文件 内进行配置 默认已经安装好vue-cli3.0项目 step1:命令 ...
- CSS盒子模型+box-sizing
当对文档进行布局时,浏览器渲染引擎会根据css-Box模型(CSS Basic Box model)将所有元素表示为一个矩形盒子.CSS决定这些盒子的大小,位置以及属性(颜色,背景,边框尺寸) 标准盒 ...