首页 > 其他分享 >改Bug的经验

改Bug的经验

时间:2022-10-03 10:00:26浏览次数:54  
标签:重构 经验 代码 测试 review Bug 调试

如果修复某个Bug花了很长时间,这时候就要问问自己为什么,怎么做才吸取经验教训,在类似的问题上不再出问题,以及采用的方法,使用的工具是否还有改进的地方;

当所有问题都解决之后,一定要梳理下从最初找Bug到最后改Bug的整个过程

定位Bug

  1. 模拟Bug场景:想想什么样的代码才能导致该Bug
  2. 二分法:代码一分为二,每次判断Bug在前面一段还是后面一段
  3. 使用调试工具:IDEA中打断点(多线程断点需要设置suspend为Thread,否则只能串行调试)
  4. 极限测试:用足够多的测试机,设置不同的极限条件进行测试,观察测试结果有什么规律
  5. 小黄鸭调试法:如果已经知道某段代码大概有问题,就可以找个对象(拿个小黄鸭放桌子上-_-)把这段代码对它一行一行的解释,甚至为什么这个地方用数组也要讲清楚。相当于用一种自言自语的方式,自发的梳理问题代码的逻辑,以解决问题

修复Bug

需要注意,在修复之前要理解代码,保证你的操作不会影响到其他部分,不然很容易制造新的Bug

重构

重构是使一些列手法,在不改变最终运行结果的前提下调整

  1. 看整体:检查Bug是否会影响其他支线,回顾所有审查及测试工作,检查整个系统的合并及最终运行情况。最佳的方式是补充所有功能点的测试案例
  2. 改细节:一步一步的重构(复杂代码也可优化结构,使代码更易于理解)
  3. review之前的review:在提交之前,找别人帮你review一下真个修复过程,看看方案是否完善,有没有更好的建议

标签:重构,经验,代码,测试,review,Bug,调试
From: https://www.cnblogs.com/daydreamer-fs/p/16750057.html

相关文章

  • 在 IDEA 中的各种调试技巧,轻松定位 Bug(超级全面)
    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码......
  • 【Java】01基础-06Debug
    1.Debug模式1.1什么是Debug模式是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。1.2Debug介绍与操作流程如何加断点选......
  • WPF开发经验-实现自带触控键盘的TextBox
    一引入项目有个新需求,当点击或触碰TextBox时,基于TextBox的相对位置,弹出一个自定义的Keyboard,如下图所示: 二KeyboardControl先实现一个自定义的KeyboardControl,它继......
  • manim movealongpath 的bug
    l=msm('leave').scale(2)leavepath=msm('leavepath').scale(2)xxp(ama(l,leavepath))报错:Exception:CannotcallMobjec......
  • Tortoise 经验
    一、增删查改user={"id":2,"mobile":"2313","name":"2313"}company={"id":2,"name":"2313","creator_id":2313}match={'id':6}valu......
  • 程序员这几个行为,一看就是缺乏经验!你中招了吗?
    程序员的工作经验和从事这个行业的工作年限直接相关。这句话在某种程度上是对的,但是从事这项工作的年限,并不一定代表获得了相同年限的工作经验。正如一句话所说:“我们以为我......
  • IntelliJ IDEA DEBUG相关教程 (转载)
    一、基本用法&快捷键首先看下IDEA中Debug模式下的界面,随着idea版本的更新Debug模式的图标设计虽有微调改动,但是功能大体相通。1、首先说第一组按钮,从左到右依次如下:......
  • spotbugs插件汉化
    spotbugs-translatespotbugs汉化,目前使用百度翻译进行机翻已经汉化好的插件(使用IDEA的InstallPluginfromDisk选择zip文件再重新安装):https://github.com/tyzou/spotb......
  • ​加工中心编程经验分享
    加工中心编程需要注意:1.白钢刀转速不可太快。2.铜工开粗少用白钢刀,多用飞刀或合金刀。3.工件太高时,应分层用不同长度的刀开粗。4.用大刀开粗后,应用小刀再清除余料,保证余......
  • 计算机保研经验分享
    1.关于保研随着928的结束,2023届轰轰烈烈的保研也就这么结束了。从五六月份开始准备各种材料,包括打印、签名、写推荐信、成绩证明、证书等等,然后是报无数个学校,填无数个报......