设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 27710|回复: 57
打印 上一主题 下一主题

【转载 / 文章】提问的智慧 / 如何有效地报告Bug

[复制链接]
跳转到指定楼层
1#
发表于 2005-9-28 19:21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  这篇文章被转载过,也有很多人都看过,但是从现在论坛的提问来看,很多人依然需要看这篇文章,因此我在这里再次转载,希望对于大家解决自己的问题有所帮助。

——————————————————————————————————————

  在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。

  

  首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。

  如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼,可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,“问得好!”是发自内心的大力称赞。

  

  尽管黑客们有蔑视简单问题和不友善的坏名声,有时看起来似乎我们对新手,对知识贫乏者怀有敌意,但其实不是那样的。

  

  我们不想掩饰对这样一些人的蔑视--他们不愿思考,或者在发问前不去完成他们应该做的事。这种人只会谋杀时间--他们只愿索取,从不付出,无端消耗我们的时间,而我们本可以把时间用在更有趣的问题或者更值得回答的人身上。

  我们称这样的人为“失败者”(由于历史原因,我们有时把它拼作“lusers”)。

  我们在很大程度上属于志愿者,从繁忙的生活中抽出时间来解惑答疑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是抛弃那些看起来象失败者的家伙,以便更高效的利用时间来回答胜利者的问题。

  

  如果你觉得我们过于傲慢的态度让你不爽,让你委屈,不妨设身处地想想。我们并没有要求你向我们屈服--事实上,我们中的大多数人最喜欢公平交易不过了,只要你付出小小努力来满足最起码的要求,我们就会欢迎你加入到我们的文化中来。但让我们帮助那些不愿意帮助自己的人是没有意义的。如果你不能接受这种“歧视”,我们建议你花点钱找家商业公司签个技术支持协议得了,别向黑客乞求帮助。

  

  如果你决定向我们求助,当然不希望被视为失败者,更不愿成为失败者中的一 员。立刻得到有效答案的最好方法,就是象胜利者那样提问--聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。

  

  ========

  提问之前

  ========

  

  在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:

  1. 通读手册,试着自己找答案。

  2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。

  3. 在网上搜索(个人推荐google~~~)。

  4. 向你身边精于此道的朋友打听。

  

  当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。如果提问者能从答案中学到东西,我们更乐于回答他的问题。

  

  周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得 不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

  

  小心别问错了问题。如果你的问题基于错误的假设,普通黑客(J. RandomHacker)通常会用无意义的字面解释来答复你,心里想着“蠢问题...”,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。

  

  决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去“挣”回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题--一个对社区的经验有潜在贡献的问题,而不仅仅是被动的从他人处索要知识--去挣到这个答案。

  

  另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。

  “谁能给点提示?”、“我这个例子里缺了什么?”以及“我应该检查什么地方?”比“请把确切的过程贴出来”更容易得到答复。因为你显得只要有人指点正确的方向,你就有完成它的能力和决心。

  

  ========

  怎样提问

  ========

  

  ------------

  谨慎选择论坛

  ------------

  

  小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:

  1. 在风马牛不相及的论坛贴出你的问题

  2. 在探讨高级技巧的论坛张贴非常初级的问题;反之亦然

  3. 在太多的不同新闻组交叉张贴

  

  ----------------------------

  用辞贴切,语法正确,拼写无误

  ----------------------------

  

  我们从经验中发现,粗心的写作者通常也是马虎的思考者(我敢打包票)。

  回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。

  

  正确的拼写,标点符号和大小写很重要。

  更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。

  

  如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错--但决不能

  在思考上马虎(没错,我
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-9-28 20:40:00 | 只看该作者
支持论坛毕竟不是聊天室,好的提问的确可以得到最快和准确的答复。
3#
 楼主| 发表于 2005-9-29 03:46:00 | 只看该作者
如何有效地报告 Bug作者:Simon Tatham 专业的自由软件程序员翻译:Dasn引言为公众写过软件的人,大概都收到过很拙劣的bug(计算机程序代码中的错误或程序运行时的瑕疵——译者注)报告,例如:<!-- I changed the style a little -->在报告中说“不好用”;所报告内容毫无意义;在报告中用户没有提供足够的信息;在报告中提供了错误信息;所报告的问题是由于用户的过失而产生的;所报告的问题是由于其他程序的错误而产生的;所报告的问题是由于网络错误而产生的;这便是为什么“技术支持”被认为是一件可怕的工作,因为有拙劣的bug报告需要处理。然而并不是所有的bug报告都令人生厌:我在业余时间维护自由软件,有时我会收到非常清晰、有帮助并且“有内容”的bug报告。在这里我会尽力阐明如何写一个好的bug报告。我非常希望每一个人在报告bug之前都读一下这篇短文,当然我也希望用户在给报告bug之前已经读过这篇文章。简单地说,报告bug的目的是为了让程序员看到程序的错误。您可以亲自示范,也可以给出能导致程序出错的、详尽的操作步骤。如果程序出错了,程序员会收集额外的信息直到找到错误的原因;如果程序没有出错,那么他们会请您继续关注这个问题,收集相关的信息。在bug报告里,要设法搞清什么是事实(例如:“我在电脑旁”和“XX出现了”)什么是推测(例如:“我问题可能是出在……”)。如果愿意的话,您可以省去推测,但是千万别省略事实。当您报告bug的时候(既然您已经这么做了),一定是希望bug得到及时修正。所以此时针对程序员的任何过激或亵渎的言语(甚至谩骂)都是与事无补的——因为这可能是程序员的错误,也有可能是您的错误,也许您有权对他们发火,但是如果您能多提供一些有用的信息(而不是激愤之词)或许bug会被更快的修正。除此以外,请记住:如果是免费软件,作者提供给我们已经是出于好心,所以要是太多的人对他们无礼,他们可能就要“收起”这份好心了。“程序不好用”程序员不是弱智:如果程序一点都不好用,他们不可能不知道。他们不知道一定是因为程序在他们看来工作得很正常。所以,或者是您作过一些与他们不同的操作,或者是您的环境与他们不同。他们需要信息,报告bug也是为了提供信息。信息总是越多越好。许多程序,特别是自由软件,会公布一个“已知bug列表”。如果您找到的bug在列表里已经有了,那就不必再报告了,但是如果您认为自己掌握的信息比列表中的丰富,那无论如何也要与程序员联系。您提供的信息可能会使他们更简单地修复bug。本文中提到的都是一些指导方针,没有哪一条是必须恪守的准则。不同的程序员会喜欢不同形式的bug报告。如果程序附带了一套报告bug的准则,一定要读。如果它与本文中提到的规则相抵触,那么请以它为准。如果您不是报告bug,而是寻求帮助,您应该说明您曾经到哪里找过答案,(例如:我看了第四章和第五章的第二节,但我找不到解决的办法。)这会使程序员了解用户喜欢到哪里去找答案,从而使程序员把帮助文档做得更容易使用。“演示给我看”报告bug的最好的方法之一是“演示”给程序员看。让程序员站在电脑前,运行他们的程序,指出程序的错误。让他们看着您启动电脑、运行程序、如何进行操作以及程序对您的输入有何反应。他们对自己写的软件了如指掌,他们知道哪些地方不会出问题,而哪些地方最可能出问题。他们本能地知道应该注意什么。在程序真的出错之前,他们可能已经注意到某些地方不对劲,这些都会给他们一些线索。他们会观察程序测试中的每一个细节,并且选出他们认为有用的信息。这些可能还不够。也许他们觉得还需要更多的信息,会请您重复刚才的操作。他们可能在这期间需要与您交流一下,以便在他们需要的时候让bug重新出现。他们可能会改变一些操作,看看这个错误的产生是个别问题还是相关的一类问题。如果您不走运,他们可能需要坐下来,拿出一堆开发工具,花上几个小时来好好地研究一下。但是最重要的是在程序出错的时候让程序员在电脑旁。一旦他们看到了问题,他们通常会找到原因并开始试着修改。“告诉我该怎么做”如今是网络时代,是信息交流的时代。我可以点一下鼠标把自己的程序送到俄罗斯的某个朋友那里,当然他也可以用同样简单的方法给我一些建议。但是如果我的程序出了什么问题,我不可能在他旁边。“演示”是很好的办法,但是常常做不到。如果您必须报告bug,而此时程序员又不在您身边,那么您就要想办法让bug重现在他们面前。当他们亲眼看到错误时,就能够进行处理了。确切地告诉程序员您做了些什么。如果是一个图形界面程序,告诉他们您按了哪个按钮,依照什么顺序按的。如果是一个命令行程序,精确的
4#
发表于 2005-10-12 19:01:00 | 只看该作者
打包了,谢谢
5#
发表于 2005-10-14 02:54:00 | 只看该作者
支持
6#
发表于 2005-10-14 18:16:00 | 只看该作者
以下是引用eyewitnes在2005-10-12 11:01:00的发言:



打包了,谢谢



7#
发表于 2005-12-10 09:32:00 | 只看该作者
支持!
8#
发表于 2005-12-15 03:44:00 | 只看该作者
版主说的好好
9#
发表于 2005-12-21 19:04:00 | 只看该作者
高!实在是高!
10#
发表于 2006-1-14 00:40:00 | 只看该作者
学习了。这个论坛真的有很多热心人免费帮助我们这些新手,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-23 22:56 , Processed in 0.096576 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表