Debugging 实现功能与修复bug

Debugging 实现功能与修复bug,debugging,Debugging,我很感兴趣的是,与修复bug相比,你每天花多少时间在实现新功能上?只要我的软件中有一些未修复的bug,我就不编写任何新功能 我能想到的唯一让我的软件中的bug不被修复的原因是修复它肯定要花费很多钱。在这种情况下,我们可以选择将其从“bug”更改为“已知限制”或“已知bug”,并相应地修复我们给用户的反馈,以便用户确切地知道发生了什么以及为什么没有修复(请参阅下面的编辑) 因此,通常情况下,只要QA在抱怨某件事,我就会花所有的时间来修复bug,,而我所有的时间都在编码,而事实并非如此!:) 我这样

我很感兴趣的是,与修复bug相比,你每天花多少时间在实现新功能上?只要我的软件中有一些未修复的bug,我就不编写任何新功能

我能想到的唯一让我的软件中的bug不被修复的原因是修复它肯定要花费很多钱。在这种情况下,我们可以选择将其从“bug”更改为“已知限制”或“已知bug”,并相应地修复我们给用户的反馈,以便用户确切地知道发生了什么以及为什么没有修复(请参阅下面的编辑)

因此,通常情况下,只要QA在抱怨某件事,我就会花所有的时间来修复bug,,而我所有的时间都在编码,而事实并非如此!:)

我这样做是因为:

  • 当一个软件做了很多事情,但随机崩溃时,用户会觉得他不能依赖这个软件,而你也无法修复这个问题。永远

  • 当一个软件缺少一些功能,但擅长做它所做的事情时,用户会认为“这可能是一个很棒的软件,可惜它不支持X和Y……我会在6个月后检查下一个版本”


乔尔·斯波尔斯基在他的博客中就这个问题写了一篇有趣的帖子


编辑以回答评论:如果我遇到随机崩溃,那肯定是一个bug,而不是“已知限制”。一旦我确切地知道发生了什么,只有到那时,我才能决定是否能解决它

我在想以下情况:

  • 这个bug是由不属于我的代码(通常是第三方库)引起的。如果实现一个变通方法非常复杂,那么可以等待第三方供应商修复它。现实世界的例子:Clickonce在某些代理情况下不起作用。。。我希望微软最终能解决这个问题

  • 如果问题是某个特定功能不能在所有情况下都工作,并且该功能很难在这些特定情况下实现,我认为在用户使用该功能之前,可以警告用户尝试执行的功能没有实现,而不是崩溃


这取决于项目,如果有一个节目停止错误,我会关注它,但有时当我没有足够的动力时,我会添加一个新的酷功能,这样我至少可以在它上工作,而不是什么都不做


这是针对个人项目或发布前/研究产品的

这取决于我目前从事的项目类型。 如果项目是新的,那么在测试阶段之后,我们有一个称为bug修复的阶段。大多数bug都在那里得到修复。(!)


如果项目是维护项目,那么修复bug是日常工作

由于我没有获得维护任何项目的报酬,所以大部分时间我都在从事新项目,因此一直在添加新功能

但是,每个功能都需要进行彻底的测试和调试,因此您可以说,实现一个功能所花费的时间中有30-40%将用于调试它。

这取决于bug

这是一个次要的装饰性问题,比如标签的错误,还是破坏数据的巨大缺陷

即使是轻微的或装饰性的,它是否会引起用户的头痛,比如弹出窗口出现在错误的地方?是否只有在Firefox2中才出现了数据损坏漏洞,并且满月(而您的公司内部网是IE6)


尽管这是个好问题……

许多项目都有一个开发阶段(“代码解冻”),在这个阶段中,新功能的积极添加与错误修复同时发生,还有一个“代码冻结”阶段,在这个阶段中,功能集被冻结,100%的工作都是为了将关键错误数降至0(或在固定期限前修复尽可能多的错误),因此,答案将取决于项目所处的阶段


当我“做bug”时,我也会尽最大努力要求至少有一个特性可以同时工作,或者(当遇到特别有bug的代码块时)请求授权重构整个代码块。因此,我开始做一些新的开发(面对现实,我们大多数人更喜欢编写新的东西来修复旧的东西),同时减少bug数量。

当我对我的工作进行分类时,我脑子里有很多优先事项:

  • 影响客户开展业务或访问数据能力的漏洞。在解决任何类似的bug之前,都不会进行任何工作
  • 其他高优先级错误或功能。这些通常是“已知问题”类型的bug或增强,它们已经变得难以处理,现在需要更改代码。此外,大客户或潜在客户要求的功能通常属于这一类
  • 其他一切。这包括维护、很好的特性,以及在我们的代码基础上的一般搔痒类型维护

  • 你可以想象,#3类的工作并不经常进行,从工程角度来看,这有点令人沮丧。但是,我们的客户喜欢我们,因为他们在打电话给我们的支持热线后,几乎马上就有一名工程师处理他们的问题,并且通常在24小时内得到解决,而不管问题的大小或重要性。

    我为公司内部的一个团队工作,该团队负责创建“功能表”,并对客户问题做出响应。我倾向于把更多的时间花在高优先级的客户问题上(阅读:bug)。所以我想说我的时间几乎100%都花在了修复bug上

    也就是说,让我们读一下字里行间的内容。这个问题似乎是在说“ugg,我花了这么多时间在错误修复上……希望我能做更多的功能开发”。如果是这样的话,我认为你需要向内看一点

    正如我所说,我几乎把所有的时间都花在了修复客户问题的bug上,但我也编写了大量的工具来帮助解决这个问题。我有特价的一切