标签归档:提问

我可能不会回复

从 2017 年以来,我处理了大量的技术提问。尤其是 Flask 书出版后,更多的提问从各个渠道向我涌来。有时,我甚至觉得自己就像是一个在各个平台开了很多工单的客服。对于提问者来说,你只是在向某人提个问题;而对我来说,则是今天又多了一个要处理的提问。这段时间经常是一天中的一半时间都在处理提问。这不是个好现象,也该是改变的时候了。我并没有成为全职答题家的想法,我也需要时间学习新技术、休息、工作挣钱(虽然还没有工作……)。

为了回归正常的生活,我做了一个决定:从现在开始,所有通过电子邮件、微信、QQ(及群内@我)、Telegram(及群组内@我)、Twitter、知乎私信、文章评论(和文章本身无关的提问)、博客留言板、豆邮等渠道发来的技术提问我可能不会回复。(从明天起,做一个冷漠的人……)

除了书籍勘误以外,所有的技术问题,如果自己搜索相关信息并尝试后仍然无法解决,请在 HelloFlask 论坛发帖子提出(发帖前请阅读论坛帮助了解提问规则),我有时间会看,但不一定回复。(如果因为网络问题无法访问 HelloFlask 论坛,那就在 GitHub 上的 镜像仓库创建 issue)

有两个原因促使我做出这个决定:

1. 处理糟糕的提问浪费了大量的时间和精力。在这些提问里,除了少部分给我带来一些启发外,大部分都是一些简单的马虎问题,比如依赖没有安装、虚拟环境没有激活、环境变量没有设置、函数名写错、语法错误等等。大部分提问都是寥寥几句,既没有相关代码,也没有完整的错误回溯信息或命令行输出。所有相关内容都需要你一句一句的追问,看到新提供的一小块截图,你还要再次追问没截到的那部分内容。而且,因为大多数提问者热衷于用截图提供信息,如果你想在网上搜索相关内容,或是执行他的代码进行测试,还得手动把截图里的内容打出来。

还有些干脆是 XY 问题

  1. 有人遇到了问题 X。
  2. 他觉得问题 Y 可能是解决问题 X 的方法。
  3. 于是他去问别人问题 Y 怎么解决。
  4. 别人费劲力气浪费了大量时间教他处理问题 Y 后,才发现他只是想处理问题 X,而问题 X 和问题 Y 基本没什么关系。

举个简单的例子:

  1. 某个人买了一只鸡(这只鸡是公鸡,但是他不知道),发现他的鸡不下蛋。因为他不知道他的鸡是公鸡,所有真正要解决的问题 X 是“我的鸡是公鸡还是母鸡?”。
  2. 他错误的把问题 X 想成了问题 Y——”我的鸡得了不下蛋的病,应该怎么治?“
  3. 于是他上网发了一个帖子,求助问题 Y。
  4. 别人详细询问了鸡的健康状态,最近的饮食情况,居住环境等信息,并给出了各种治疗建议。在浪费了其他人大量时间后,他上传了鸡的照片……

除此之外,最让人崩溃的情况是这样的,在你像个侦探一样,进行了一系列追问,思考研究了半天之后,对方突然发过来“哦,我知道了,XXX 没有安装”。还有一些,在你认真思考,搜索了相关内容,最后给出回复之后却没有回音了。

2. 这些回答除了解决提问者的问题外,没有再产生更大的价值。因为大部分交流都被封闭在某个特定的程序内(一对一的交流无法被其他人看到,而 IM 群组里的消息检索起来非常麻烦),不能在互联网上搜索到,所以也无法帮到后续遇到同样问题的人。

更重要的是,IM 和 IM 群组(QQ 群、Telegram 群组、微信群)是非常糟糕的技术问题讨论工具,我甚至觉得 IM 只适合用来闲聊灌水。IM 本身的特性塑造了很多人的交流和思考方式,让人变得不会认真组织语言:喜欢发零散的多条信息,而不是一条长消息;面对多个人发来的多条回复时,没法专注思考其中的某一条。这些都让交流的效率变得非常低。在 IM 群组里投入任何有价值的信息都只会在短时间内发挥很少的价值,不久就会被扔到聊天记录里。而且在这些不支持代码高亮和预格式化的工具里交流技术问题是非常痛苦的体验。

对于这两个问题,最终的解决方案就是 HelloFlask 论坛。很早就想创建一个论坛,这些提问让我终于下定决心做这件事。一方面,论坛是最佳的技术问题讨论工具,论坛编辑器对代码的支持很好,每个问题作为单独的主题更方便讨论,而且可以被其他人方便的检索到。在此之前,我曾尝试将 GitHub Issue 作为问题讨论工具,但参与的人很少。有了论坛后,我就可以拒绝来自其他工具和网站的提问,让提问者到论坛发帖。另一方面,论坛可以吸引更多兴趣相投的朋友加入,大家可以一起讨论和解决问题,这样就不会让我一个人超负荷。

至于让提问者学会提问,还有很长的路要走。

糟糕的提问

维护开源项目最怕的大概就是遇见这种提问者:不知道自己要问什么(XY问题),不提供足够的信息(或是提供不全面的甚至是错误的信息),不思考你给出的观点和建议,只希望你给出最终的解决代码。更要命的是,他们还会不断提供不相干的信息和更多的无关问题,给你制造烟雾弹。

https://github.com/greyli/flask-ckeditor/issues/8

Google+社群——Hello, Flask!

为了方便讨论和交流,创建了一个Google+社群。现在可以在社群里分享信息,创建问题和讨论。欢迎加入!

关于提问

专栏关注人数增多以后,提问也越来越多。但是有些问题我完全不知道问的是什么……学会提问很重要!

遇到问题后应该有这么一个解决流程:

检查代码是否有语法错误——查看相应的源码和文档——Google搜索——如果到了这一步还没法解决,再到论坛上发帖(建议到StackOverflow上提问)。

问题应该尽量包括下面的内容:

  1. 期望效果
  2. 实际效果
  3. 你的操作步骤和尝试过的解决办法
  4. 相关的代码和错误输出
  5. 操作系统和语言、库等的版本

最后还要注意排版,内容尽量简洁,措辞礼貌一些。

因为Google+社群里不好放代码,可以在StackOverflow或知乎上提问,粘贴链接过来,或是在Github上创建Gist

 

Google+社群

你可以在这里分享关于Flask、Python以及Web开发的一切信息,说点儿想说的,不用拘束。

plus.google.com/u/0/com