程序员要懂的12个修复bug关键步骤

程序员要懂的12个修复bug关键步骤

你知道“查找和修复bug”意味着什么吗?没错,就是调试!不断的调试,无数次的调试!

Paul Butcher通过大量工作,总结出以下结构化的步骤:

1.明确目的。仔细查阅异常报告,确定是否是个bug,找出各种有用的信息发现问题的症结,予以重现。再次检查是否与报告发生重复。如果发生重复,那看看曾经的相关人员是如何处理的。

2.准备工作——找出正确的代码,用排除法清理工作区域。

3.匹配测试环境。如果客户正在操作计算机配置,那么此过程可以跳跃。

4.明确代码的用途,确保现有测试工具一切正常。

如果你想学习Python可以来这个群,首先是四七二,中间是三零九,最后是二六一,里面有大量的学习资料可以下载。
5.好了,现在可以出发钓鱼去咯——重现和诊断错误。如果你不能做到重现,那你就不能证明你已经完成修复工作。

6.编写测试案例,或者通过现成的测试案例来捕获bug。

7.进入修复模式——请务必确保不会影响到其他任何部分。但是,在开展修复工作之前,可能你还要包揽重构工作,因为只有这样,你才能无所顾忌地捣鼓代码。而且事后回归测试,还能确保你不会加入任何新的bug。

8.整理代码。通过一步一步重构,让你的代码更易于理解,更安全。

9.找别人来审查一下,当局者迷旁观者清。

10.再次检查此修复过程。

11.试着不从主线出发,以检查这些bug是否会影响其他支线。合并这些变化,处理代码中的差异,回顾所有的审查和测试等工作。

12.思考。好好想一想哪里错了以及为什么错了?为什么你的修复会起效?这种类型的bug还会出现在哪里?

在《 The Pragmatic Programmer》一书中,Andy Hunt 和Dave Thomas也如是指出“如果一个bug需要耗费你很多时间,那么一定要好好弄清楚原因”。

此外,还需要思考的是,怎么做才能吸取经验教训,将来在类似的问题上不再栽跟头?以及,我们采用的方法、使用的工具是否还有可以改进的地方?以及这些bug的影响和严重程度。

找到bug,还是修复bug,哪个需要更多时间?

或许建立一个测试环境、重现问题和测试bug所需的时间,要远远多于找到bug和修复bug的时间。不过对于一小部分显而易见的bug,找到它们很简单——不过修复起来可能就不尽如人意了。

在《Making Software》一书中,有一章主要是探讨“大部分的软件漏洞的来源”,Dewayne Perry分析认为,相较于修复,发现bug(包括理解bug和重现bug)所需时间更长。

有研究表明,大多数的bug(差不多有3/4)既易于发现又易于修复:5天或许更少(这是基于大规模实时系统通过重量级SDLC、大量审查和测试得出的数据)。

但是也有很恶心的bug,即便你可以轻轻松松揪到它,还是还得“呕心沥血”才能修复好。

所以如果你打赌说你能很快修复bug,大多数情况下你还真没说错。不过当你打赌输了的时候,那么,嘿嘿,就意味着你有大麻烦了。

所以,下次,boss再问什么时候能修复bug,别再傻乎乎地回答“马上就能搞定”了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件开发流程指的是软件从概念到最终交付的整个过程,其中包括需求分析、设计、编码、测试、发布和维护等多个阶段。在这个过程中,bug流程的存在非常重要。 首先,在软件开发过程中,bug是不可避免的。当人们构建复杂的软件系统时,往往难免会出现一些错误和缺陷。这些bug可能会导致软件的功能失效、性能下降或者安全风险增加。因此,建立一个明确的bug处理流程是非常必要的。 一个典型的bug流程通常包括以下几个步骤:bug的发现、记录、分析、修复和验证。当用户或开发人员发现了一个bug,首先需要将bug详细描述,并记录到一个集中的缺陷跟踪系统中。然后,bug经过负责人的分析和评估,确定其优先级和处理的紧急程度。接下来,开发人员根据相关信息进行修复,并提交代码。最后,测试人员对修复后的软件进行验证,确保bug已经被解决。 此外,职能在软件开发流程中也发挥着重要作用。一个高效的软件开发团队通常包括不同的职能角色,如项目经理、需求分析师、设计师、程序员、测试人员等。这些不同的职能角色协同工作,共同推动软件开发流程的顺利进行。 职能的定义和责任范围可以根据实际情况进行调整,但一般来说,项目经理负责整体的项目规划、资源管理和协调工作;需求分析师负责收集、分析和管理用户需求;设计师负责制定软件的架构和设计方案;程序员负责根据设计方案开发代码;测试人员负责验证软件的质量和稳定性。 综上所述,软件开发流程中的bug流程和职能分工是保证软件质量和项目顺利进行的重要组成部分。良好的bug流程可以及时发现和解决问题,而合理的职能分工可以有效提高开发效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值