应该修复不重要的错误,以免它们分散开发人员的注意力吗?

虽然Joel Spolsky认为在编写新代码之前应该修复每个错误,但许多地方的现实是开发人员非常忙碌,而有些错误被认为是有价值的,而其他错误则不然。单元测试通常也被视为很好。 我一直在追逐一个关键应用程序中的神秘错误,并在此过程中发现了一些小错误。我向原作者提到了他们,他说了一句“哦,是的......我记得3年前QA提出了这些问题,但他们被关闭了”。 我想一些开发人员更擅长于其他人的多任务处理。就我个人而言 - 我喜欢一次做一件事,即使有一个不重要的错误可能与一个严重错误相互作用的机会,我也有一种想要先解决一个不重要的错误的冲动(更好地理解它)在这个过程中),而不是以后考虑它。 一方面,我会浪费时间在业务分析师认为不值得的东西上。另一方面 - 如果我能专注于那一项任务,我可能能够更快地解决这个重要的错误。 在我尝试提出这个论点之前,我想问一下你的想法和经历是什么样的。问题被标记为社区维基。谢谢。     
已邀请:
请记住,每当您更改代码时,您可能会引入新的错误,因此通过修复那些被认为不重要的小错误来修复,您可能会意外地引入一个新的严重错误。有时这是一个值得冒险的风险,但对于一些关键的系统,如果没有充分的理由,你绝不应该触及任何代码。那么你正在研究什么样的系统可能是回答这个问题的重要因素。     
这听起来像属于“对您和您的团队最有效”的类别。如果你真的那么紧张,你没有时间来修复错误,那么无论如何你都需要有充分的理由去做。 如果这些错误让你烦恼并阻止你专注于更大的问题,这可能就足以证明这一点,尽管你可能必须解释为什么你错过了发货日期,因为你花了一个星期的时间修复一些小问题然后修复一个大问题。错误。     
虽然很高兴认为你可以发布无错误的代码,但实际上总会有另一个代码。也就是说,我认为最实用的方法是按照严重程度对您所知道的顺序进行排序,并根据时间和资源许可确定每个顺序,并按严重程度排列优先级。     
Joel的帖子澄清了“你在编写新代码之前修复了错误吗?”哲学。 “零缺陷”意味着在任何给定时间,最高优先级是在编写任何新代码之前消除错误。“ 这个解释可以使用稍微澄清,但我能够认为他并不意味着有完美的期望,而程序员应该努力追求完美。这意味着程序员不应该故意吝啬方法实现只是为了让产品脱颖而出。 “零缺陷心态”的完整定义有助于澄清: “成功团队的最佳实践或原则,意味着项目团队承诺在完成任务时以最高质量开展工作,每个团队成员都有责任帮助实现所需的质量水平。零缺陷心态并不意味着部署的解决方案必须“完美”,没有任何缺陷;相反,它将完美视为团队努力的一贯目标。“ 由于您要向您的团队提出建议,请记住这一理念是团队理念。如果您的论点未被团队接受,但您试图自己遵循此规则,那么在您自己的论点未能接受的情况下,尝试自行遵循此规则可能会导致高度的挫败感。     
非常有趣的问题。像其他人说的那样,这取决于团队。资源,截止日期,个人信仰以及更多干扰这个问题。 在您的情况下,我认为最好的选择是与您的上级和同事讨论此事。不要只为自己承担所有责任。     

要回复问题请先登录注册