什么样的问题是一个好问题?

Viewed 11175

看到这个标题,很多人都要嗤之以鼻,作为开发人员看过的诸如如何提问的指南多了去了,难道还不知道怎么样提问?但是看看这些问题列表中的问题,还有现在国内一些中文问答网站中的提问,我不禁觉得国人的提问为何如此地不着边际,往往一个简单的问题,需要在评论一遍一遍的询问才能得出答案,大大地浪费了时间。

我们当初开发这个网站的目的就是节约大家的时间,问题解决就去干自己的事吧,有闲暇就来帮助别人解决问题,这是网络带给我们的好处。但我发现大多数人都过于沉迷闲聊式的提问,或者有时候是一个正经问题,非要以不正式的方式提出,让人摸不着头脑。

这个网站刚刚起步,我们不希望它变质。因此在这里提出这个问题跟大家一同讨论下提问的技术。注意,我没有把它说成一种艺术,因为大多数人还没有掌握这种基本技术。而怎样提出一个人让别人看得懂,而且有兴趣回答的问题,是我们在这里要讨论的主题。

拜托你直接贴代码(错误码)吧

开发者的文字表达能力普遍比较差,因为我们不擅长,但是为何不以我们擅长的程序语言来表达问题呢。很多人在问题里描述了半天,我们也搞不懂他到底要问什么。

而且很多人网上聊天习惯了,说话不分段,不换行,不打标点符号。看这样的问题是想让我们折寿吗?

因此可以看到很多问题后面往往都有一堆简短的评论,内容都是让提问者提供具体信息的。其实一开始就把这些贴出来更加节省大家的时间,只要掌握这三个原则

  1. 有错误的一定要把错误码都贴出来
  2. 产生错误的那一段程序代码也要一并提供,需要做错误重现
  3. 你自己的一些尝试,很重要,避免其他人浪费时间

还有一个更加实际的好处,各位想一想,我们程序出错了,在搜索引擎中会以什么作为关键字,我想大部分人都会直接用错误码。那么你把错误码在问题中贴出的好处就不用我说了,利人利己。

讨论性的问题一定要说出你自己的观点

这是一个基本的礼貌问题。比如你要询问"xxx技术前景如何" "怎样学习xxx"。你一定要把自己的情况,还有现阶段观点都说出来,要不然只写一个标题,然后恨不得在内容里就留个"RT"的,是没有人会理你的。没有人有义务向你提供自己的想法,特别是在这样一个社会,你只有用自己的想法去交换别人的想法。

开发人员都很忙,你懒别人会比你更懒。

尽量使用网站提供的功能

比如代码高亮功能,如果你把代码直接贴出来虽然也能看,但非常难看,而且让人没有看下去的欲望。而对你的问题做一个基本的排版,可以让其他人看起来更方便。

如果有些问题无法表述,请记住一图胜千言

使用tag准确地标记你的问题,可以让你的问题更快的被人关注,而且也更好地被搜索定位。

以上是我的一些观点,既然这是一个问题,那么欢迎大家来补充答案。

总感觉这些个帖子没啥意义,你要求的越多,做到的人越少。其实只要一点就够了,表现出本人有思考过。

7 Answers

我补充一个:请不要在这里企图让别人帮你做测试,有些测试自己就能做何必麻烦别人,一点动手能力都没有么?比如之前问mysql查询性能的问题,你问问比如“如何科学的做测试”这样的问题好很多。

看到这种问题我立马就关掉了。

1、不能轻易用Google找到解决方法的问题(至少换过很多关键词,翻过十页)
2、若是错误,需提供详细的环境信息、实现步骤、出错代码
3、开放性的,探索式的问题

有一篇非常好的文章<<提问的智慧>>值得每一个程序员借鉴。http://www.linuxforum.net/doc/smartq-...
问题本身深浅无所谓,但是提问者的水平一定要高,否者问答社区不会活跃。

赞~ 这篇文章很值得一读 :)

没看到你说的“提问的智慧” 只看到广告

林子大了,自然什么鸟都有了,网站本身能做些过滤之类的?
比如提问前,现显示搜索,看是否已有解决方案,问题内容预设一些框架内容,帮助用户完善问题.

有些怀疑社会化问答是不是一个伪命题或者伪方向——于问题本身有意义还是其他,但不得不回到问题本身。

社会化问答是媒体的一个嘘头而已,问答产品真正的价值在于沉淀和重新组织知识,让用户能在段时间内看到想要的答案!在产品形态上优于现在的论坛产品。当然做知识产品都是个漫长而苦逼的过程,需要坚定的信念去坚持下去!说道社会化,更大程度上是对于现在已经有的开放平台的利用,国外大都是twitter与facebook!

平台内去社会化,平台外广拓社会化出口。 社会化问答带来了一个好的副产品——wiki化,窃以为副产品不副。

我赞同你的看法 :) 我认为某种意义上社会化只服务于这个的一个手段和策略~

如果问题已经解决,请提问者提供详细的解决方案和解决过程

我来补充一下:
提供问题的上下文环境:

什么操作系统
什么编程语言
用到了什么软件包,什么版本
...