实现功能与错误修复

Tho*_*hel 9 debugging

我感兴趣的是,与修复错误相比,您在实施新功能上花费了多少时间.

Bra*_*ann 11

只要我的软件中存在一些未修复的错误,我就不会对任何新功能进行编码.

我能想到在我的软件中修复一个错误的唯一原因是修复它肯定是昂贵的.在这种情况下,我们可以选择将其从"bug"更改为"已知限制"或"已知错误",并且我们会相应地修复我们给用户的反馈,以便用户确切地知道发生了什么以及为什么不是修复(见下面的编辑)

所以通常情况下,只要QA抱怨某些东西,我就把所有时间花在修复bug上,并且当我没有时间编码时,我所有的时间都会编码!:)

我这样做是因为:

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

  • 当一个软件缺少某些功能,但擅长做它的功能时,用户宁可认为"这可能是一个很棒的软件,太糟糕了它不支持X和Y ......我会检查6中的下一个版本个月".


乔尔斯波斯基写了关于这个问题的一个有趣的帖子在他的 12个步骤,以更好的代码.


编辑回答评论: 如果我遇到随机崩溃,那肯定是一个错误,而不是"已知限制".一旦我确切知道发生了什么,只有这样,我才能决定是否可以修复它.

我正在考虑以下情况:

  • 错误是由不属于我的代码(通常是第三方库)引起的.如果实施变通方法非常复杂,则可以等待第三方供应商修复它.真实世界的例子:Clickonce在某些代理情况下不起作用......我希望微软最终解决它.

  • 如果错误是某个特定功能在所有情况下都不起作用,而且这个功能对于那些特定情况来说太难实现,我认为使用该功能之前警告用户是正常的没有实现,而不仅仅是崩溃.

  • 这不切实际.你有没有做过一个庞大的软件项目?在发布之前修复每个bug几乎是不可能的.在我看来,只要记录下来并且错误优先级低,就可以保留一些不固定的错误. (4认同)