这篇文章的作者Eric Steven Raymond 1957年出生于波士顿,是一位软件开发者,开源软件倡导者,他也是INTERCAL编程语言的主要创作者之一,代表作《大教堂与集市》(The Cathedral and the Bazaar)。
以上是官方介绍。他在个人网站有三个版本的自我介绍:
- ESR是一位现居Malvern PA(Pennsylvania)的互联网开发者和作家。
- ESR是一位漂泊不定的人类学家和爱惹麻烦的哲学家,总是碰巧在合适的时间出现在合适的地点,并且一直在想是否该为此感到后悔。
- ESR是一位互联网黑客文化的观察-参与人类学家。他的研究帮助解释了分散的开源软件开发模式,这种模式已经被证明在互联网的发展中是有效的。Raymond还是一个科幻迷、音乐家和第一第二修正案的积极分子,同时也还是跆拳道黑带的武术家。
哈哈哈好有趣的老头。虽说是技术大佬,但他在简历中提到自己从未上过计算机和软件工程的课,太厉害了!另外,他自己的个人网站有太多宝藏内容了,可以慢慢挖掘(我好喜欢这种人…
言归正传。
《提问的智慧》(How To Ask Questions The Smart Way)首写于2004年,后续作者也在陆陆续续修订。这份指南是他教码农们应该如何正确向别人描述自己的问题并寻求解答,干货很多,之所以推荐,是因为他传授的方法也适用于任何领域的提问者。
ESR的行文很幽默,很会写,比如会吐槽提问之前求求大家先去谷歌一下(“Google is your friend”、”God, doesn’t everybody know how to use Google yet?“)… 建议大家看英文版,中文版翻译后没有那种他边敲文档边翻白眼的神韵。
祝阅读愉快!
SUMMARY
提问前
- 确保你已经通过各种渠道进行了搜索,包括论坛、网络、手册、FAQ、实验、熟人、阅读源代码等等。
- 有耐心一点,解决问题是需要时间的。Hasty-sounding questions get hasty answers, or none at all.
- 好好准备你的问题。
- 别人没有义务给你解答问题,不要觉得所有的都是理所应当的。
提问时
- 在论坛上提问时,不要离题、不要在高级社区问简单的问题(反之亦然)、不要群发问题、跟别人不熟就不要发很冒犯的个人邮件;
- 常用的平台/方式:Stack overflow、Web论坛、IRC(Internet Relay Chat)、邮箱;
- 起标题要遵循“对象-偏差”原则。“对象”用来描述主体,“偏差”用来描述问题。举例:X.org 6.8.1 mouse cursor on Fooware MV1005 vid. chipset – is misshapen;
- 描述准确,保证拼写和语法的正确性。如果英语不是你的母语,请必须在描述中注明:
- 英语不是我的母语,请原谅我的拼写错误;
- 如果你说XX语,请发邮件或私信我,我可能需要翻译上的帮助;
- 我很熟悉技术术语,但对一些俚语和习语不是很熟悉;
- 我已经用XX语和英语进行了提问,如果你倾向于用其中一种,接下来我就会使用这种;
- 不要着急声称自己找到了bug!
- 问问题不要卑躬屈膝!描述清楚事实即可!
- 如果你想实现什么结果,请描述结果而不是过程!
- 不要要求人家私下回复你,除非你加上““e-mail me and I’ll summarize the answers for the group”.
- 比起问怎么修复,问哪里错了更好。
- 要有礼貌。“Please” and “Thanks for your attention” or “Thanks for your consideration”.
- 问题解决后要follow-up并再次表示感谢,列出帮助过你的人,如果问题对其他人也有帮助,可以联系管理员,将问题和解决方式添加到FAQ文件中。
如何解读回答
- RTFM”: Read The Fucking Manual
- “STFW”: Searched The Fucking Web
- 不要觉得有的回复很「无理」,在黑客圈子里,direct, cut-through-the-bullshit communications style是非常常见的,他们更喜欢解决问题而不是让你觉得warm and fuzzy.
- 如果你搞砸了几次提问,被hackers怼了,不要抱怨,不要玻璃心!这是很正常健康的(想想他们甚至抽出了宝贵的时间回复你)