版权声明
本文首发自微信公共帐号: 造物家联盟英语(zaowujia0508);
无需授权即可转载,甚至无需保留以上版权声明;
转载时请务必注明作者,否则将被视为侵权。
每一个爱学习的人
都置顶了“造物家联盟英语”
How to Ask Questions the Smart Way (1)
点击可跳转英文页面
前言
在黑客的世界里,你提出一个技术问题后,最终能否得到满意的答案,取决于你的提问方式。这个指南就是关于如何正确提问的。现在开源软件已经越来越多了,你可以从高手、黑客那里得到很多问题的解答。和黑客相比,一般的高手会对新手更耐心一些。但即便如此,如果你按照本指南中推荐的方式,像对待黑客那样对待所有高手,你会更高效地获得优质解答。
高手、黑客喜欢有挑战性、需要深入思考的问题,如果不是这样,我们也成不了黑客。如果你提出一个值得反复咀嚼玩味的问题,我们会对你感激不尽。好的问题可以刺激我们的思维,可以加深我们对问题的理解,还经常揭露出我们之前没有意识到、思考过的地方。
但黑客也并不是对新手和简单的问题不予理睬,我们只是对那些提问前不愿自己思考,不愿自己做足功课的人态度粗鲁。这种人是时间杀手,他们只知索取,从不付出,把我们本该花在更值得的问题和人上的时间都浪费了。我们回答问题的方式适合于那些真正对问题感兴趣并且愿意积极主动地参与到问题的解决中的人。我们从繁忙的工作中抽出时间回答问题,为了做到价值最大化,我们会果断地过滤掉那些时间杀手的问题。
无知没关系,装白痴就不好了。你不需要现在就已经是个行家,但你要具备最终能使你成为一个高手的特质:机敏、深入思考、善于观察、乐于主动参与问题的解决。如果你做不到,那你最好付钱请人回答你的问题,而不是让黑客帮你。想快速得到解答的最好方法就是表现出你的聪明、自信、有自己对问题的思考,只是在某个特定问题上遇到了麻烦而已。
提问之前
1. 尝试在你准备提问的论坛的旧文章中找答案
2. Google:既要搜索网页也要搜索谷歌论坛
3. 尝试阅读官方指导手册找答案
4. 尝试阅读常见问题文件(FAQ)找答案
5. 试着通过试验寻找答案
6. 想想有没有自己认识的朋友知道答案
7. 如果你是个程序员,尝试通过读源码找答案
当你提问的时候,要说明自己已经做了上述努力,这样对方就知道你不是个伸手党,帮助你不是在浪费时间。最好同时说明你从这些尝试当中学到了什么,因为我们更乐于帮助那些真正能够从答案中学到东西的人。
遇到任何错误信息提示,都可以直接用Google搜索那些错误提示,这可能会直接搜到可以解决问题的文件。即使找不到,在提问时说明“我搜索了这些关键字,但没找到任何有用的东西”也是个好习惯,因为它至少表明这些问题是搜索不到结果的。这也会把那些遇到相似问题的人通过搜索引擎引导到你的帖子。
别着急,不要期望随便Google一下就能解决复杂的问题。读读手册、FAQ等等,努力思考,尝试着独立解决这个问题。真正的高手能够从你的提问方式中分辨出你在提问前做了多少准备和思考,他们更愿意帮助那些提问前已经尝试独立解决问题的人。
绝对不要认为别人有义务帮助你,你并没有付钱给对方。你只能通过提出一个经过自己努力搜索、思考的,有价值的问题来争取获得答案。要知道一个好问题的解答,不只会让你自己取得进步,也会为整个社群做出贡献。
“谁能给个提示吗?”,“请问我的案例中缺了什么?”,“请问我该去哪个网站找答案?”,这样的提问方式更能获得帮助,因为这表明你非常愿意在寻找答案的过程中积极主动、付出努力,只要有人能指出方向,你就有完成的能力和决心。
“请把我需要的详细答案给我”,这样的提问方式令人厌恶,因为这表明你是“饭来张口,衣来伸手”。
提问之时
一、找对地方
慎选提问的论坛
1. 不要去与主题不合的论坛提问。黑客为防止论坛的沟通渠道被无关的东西干扰,会删除那些搞错地方的问题。所以第一步就是要Google找到与你的问题最相关的论坛,先去看旧文章、FAQ等等,如果经过上述努力依然找不到答案,那就发帖提问吧。
2. 不要去进阶技术论坛提问太过初级的问题,反之亦然。选择论坛、讨论组或邮件列表的时候,不要太过相信它们的名字,阅读About、FAQ等来确定这是不是与你的问题相关的地方。发帖前先读一点旧文,这样你能对它们的文化、做事方式更了解。
3. 不要把同一个问题同时转帖太多个讨论组。这会像机关枪扫射一样,会打扰大家。要一步步慢慢来。
4. 不要给一个既不是熟人也没有义务回答你的问题的人发私人邮件。向自己不熟悉的人或论坛发邮件是很危险的。不要假定一个提供内容丰富的网页的人就会愿意做你的免费顾问。也不要对自己的问题是否会受到欢迎做太过乐观的估计,如果你不确定自己的问题在这里是否会受欢迎,那就去别处提问,或者干脆不要发邮件。
事实上,那些高阶黑客和流行软件的创造者们已经收到了太多的错发信息、邮件。如果你不以正确的方式提问,你就会是压死骆驼的最后一棵稻草。很多自愿给大家解答的黑客后来选择退出就是因为以错误的方式提问的私人邮件汹涌而来,让人不堪承受。
Stack Overflow
近些年来,Stack Exchange community 已经成为了回答技术问题和其他相关问题的主要社群,尤其是对于那些开放源码的程序来说是首选。
先Google,因为Google索引是即时的,有其他人问过类似问题的可能性很大,这时Stack Exchange 网站会排在Google搜索结果的前面。如果Google后什么都没找到,那就再去特定的相关网站搜索。使用标签搜索会更精准。
如果还是搜不到答案,就在与你的问题最相关的网站发帖提问。发帖要符合格式,尤其对于代码方面的问题,要添加与你的问题主题相关的标签,包括编程的语言、操作系统、使用的框架等。如果回答者说需要你提供额外的信息,请在你的主贴中添加,这样其他遇到相似问题的人能更容易地通过你的帖子得到答案。如果得到了任何有帮助的答案,一定要给对方点赞。如果有答案解决了你的问题,请标明这是正确答案。
Stack Exchange 已经有超过100个网站,但以下是最常用的几个:
Super User 是问通用的电脑使用相关问题的网站。如果你遇到联网之类的问题,请到这里。
Stack Overflow 是问编程问题的网站。
Server Fault 是问服务器和网络管理问题的网站。
网站和IRC论坛
通过论坛和IRC(聊天程序)频道提供用户支持的趋势渐增,而邮件更多地用于程序开发者之间的交流。所以,先去搜索这些论坛、IRC频道。
你当地的用户组织,或者你的电脑系统的新版发布时,都可能在宣传一些帮助新人的论坛或IRC(即时聊天)频道。当你是个零基础小白,常被一些很简单、基础的问题拦住去路时,这是你提问的好地方。这些有广告赞助的IRC频道都是欢迎你来提问的,并且你一般可以立即得到回复。
如果你只在特定的Linux版本中程序出现问题(这很常见),在去该程序的论坛之前最好先去该发行版本的论坛咨询,否则你得到的回答很可能是—— 使用我们的版本。
在IRC频道,最好不要一下抛出一大段的问题描述,对方会晕掉。最好先尽可能简短地描述你的问题来开始你们的交流。
还解决不了?使用邮件列表
当项目提供开发者邮件列表时,向列表而不是其中的个别成员提问,这样做有以下几个原因:
任何值得某个开发者回答的问题,对整个项目组也用价值。相反,如果你的问题对整个项目组来说太愚蠢,那也就更没有理由去打扰个别的开发者了。
通过列表问问题可以分散开发者的负担,不致使个别开发者太忙。
大部分邮件列表都会被存档并被搜索引擎收录。如果你通过邮件列表的提问得到回答,将来其他遇到相似问题的人就不用再重复提问。
如果某些问题经常被问到,开发者会据此改善说明文件或软件本身。但如果你私聊,那开发者就无法统计哪些问题是会被经常问到的。
如果一个项目既有使用者论坛又有开发者论坛,而你并不想研究他们的源码,那就请你去使用者论坛提问。不要以为开发者论坛会欢迎你们这些使用者,他们多半会把你的提问视为影响他们开发的噪音。
然而,如果你确认自己的问题是足够有价值的,并且在使用者论坛里好几天都得不到答案,那就去开发者论坛试试。你最好先在开发者论坛潜伏几天,看看旧文章,了解他们的“风俗习惯”,然后再发帖子。
如果你找不到项目的邮件列表,只有维护者的邮件地址,那就发邮件给他。但不要认为项目的邮件列表就一定不存在,或许只是你没找到,在你发出的邮件中要说明这一点。并且要说明可以帮忙把邮件之间转给相关负责人。
让回复更容易进行。以“请回复到......”的邮件多半不会得到回复。如果你都不愿意花几秒钟在客户端设置一下回复地址,那对方也不愿花时间回答你的问题。
在论坛中要求通过邮件给你解答是无理的要求,除非你认为邮件内容有敏感信息。如果你只想在有人在论坛中回答时得到邮件提醒,那大多数论坛都支持这一功能。
▲ 陈洪伟,微信二维码,加入请备注姓名
微信公众号:zaowujia0508
一个每天都会更新的微信公众号。
eading
推荐阅读
扩展阅读是今年写得几篇文章,不着急,慢慢来:
(点击文字即可跳转)
12.11盘点☞刻意练习小组(⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️)
12.18刻意练习小组作业2(⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️)
谁能生巧?(⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️)
V200<<<V对话守则 (⭐️⭐️⭐️⭐️⭐️)
如果你想看我的朋友圈,
可以加我的个人微信号13082756376。
在微信zaowujia0508后台回复m能够查阅之前所有文章目录。
在微信zaowujia0508后台回复m1能够查阅第1季文章目录。
在微信zaowujia0508后台回复m2能够查阅第2季文章目录。
在微信zaowujia0508后台回复m3能够查阅第3季文章目录。
在微信zaowujia0508后台回复m4能够查阅第4季文章目录。
微信公众号:zaowujia0508
一个每天都会更新的微信公众号。