欢迎来到天天文库
浏览记录
ID:34491020
大小:66.16 KB
页数:14页
时间:2019-03-06
《给程序员—提问的艺术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(2009年的更新:本文来自2005年的白云黄鹤BBS,未经排版,四年来,文末一直保留有英文原文出处并注明链接)这个版上太多的问题,不能让我以很愉快的心情来解答,于是,我放弃了强忍着指责别人的心情找到了这篇《提问的艺术》(两年前我在HomePage版张贴过),真诚的希望那些又困难又期望得到帮助的新手朋友们抽时间看看,问“好的问题”,收获“好的答案”,这对改善答题人的心情和形成版面氛围都有好处。提问之前在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:1.通读手册,试着自己找答案。2.在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。3.在网上搜索(
2、个人推荐google~~~)。4.向你身边精于此道的朋友打听。当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。如果提问者能从答案中学到东西,我们更乐于回答他的问题。周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。小心别问错了问题。如果你的问题基于错误的假设,普通黑客(J.RandomHacker)通常会用无意义的字面解释来答复你,心里想着“蠢问题…”,希望着你会从问题的回答(而非你想得到的
3、答案)中汲取教训。决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去“挣”回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题–一个对社区的经验有潜在贡献的问题,而不仅仅是被动的从他人处索要知识–去挣到这个答案。另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。“谁能给点提示?”、“我这个例子里缺了什么?”以及“我应该检查什么地方?”比“请把确切的过程贴出来”更容易得到答复。因为你显得只要有人指点正确的方向,你就有完成它的能力和决心。怎样提问-谨慎选择论坛小心选择提问的场合。如果象下面描述的那样,你很可能被
4、忽略掉或者被看作失败者:1.在风马牛不相及的论坛贴出你的问题2.在探讨高级技巧的论坛张贴非常初级的问题;反之亦然3.在太多的不同新闻组交叉张贴-用辞贴切,语法正确,拼写无误我们从经验中发现,粗心的写作者通常也是马虎的思考者(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。正确的拼写,标点符号和大小写很重要。更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错–但决不能在思考上马虎(没错,我们能弄清两者的分别)。-使用含义丰富,描述准确的标题在邮件列表或者新闻组中,大约50字以内的主题
5、标题是抓住资深专家注意力的黄金时机。别用喋喋不休的“帮帮忙”(更别说“救命啊!!!!!”这样让人反感的话)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,别用空格代替问题的描述,哪怕是极其简短的描述。蠢问题:救命啊!我的膝上机不能正常显示了!聪明问题:XFree864.1下鼠标光标变形,FoowareMV1005的显示芯片。如果你在回复中提出问题,记得要修改内容标题,表明里面有一个问题。一个看起来象“Re:测试”或者“Re:新bug”的问题很难引起足够重视。另外,引用并删减前文的内容,给新来的读者留下线索。-精确描述,信息量大1.谨慎明确的描述症状。2.提供问题发
6、生的环境(机器配置、操作系统、应用程序以及别的什么)。3.说明你在提问前是怎样去研究和理解这个问题的。4.说明你在提问前采取了什么步骤去解决它。5.罗列最近做过什么可能有影响的硬件、软件变更。尽量想象一个黑客会怎样反问你,在提问的时候预先给他答案。SimonTatham写过一篇名为《如何有效的报告Bug》的出色短文。强力推荐你也读一读。-话不在多你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得到
7、回答的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼你的bug报告的过程中,也许你自己就能找出问题所在或作出更正。-只说症状,不说猜想告诉黑客们你认为问题是怎样引起的没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,不要加进你自己的理解和推论。让黑客们来诊断吧。蠢问题:我在内核编译中一次又一次遇到SIG11错误,我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好?聪明问题:我自制的一套K6/233系统,主板是FIC-PA2007(VIAApolloVP2芯片组),256MBCorsair
此文档下载收益归作者所有