改bug

来源:互联网 发布:eagleeye 源码 编辑:程序博客网 时间:2024/04/29 08:29

1.重现bug

1)有具体步骤,数据时

a.导入数据,准备前期数据

b.按照步骤操作,重现

 

2)没有具体步骤,数据时

a.通过描述,尝试分析出错逻辑

b.尝试所有调用该出错逻辑的可能,至重现即可

 

3)不能重现时

a.是否所有相关逻辑都已经走到?

b.已定位到具体业务逻辑?

4)无影响分析

 

2.分析代码

1)查看出错逻辑,是否有不正确

 

2)画面显示问题?

a.绑定的数据是否正确?

b.数据从何而来?来源是否正确?

c.数据处理是否正确?

 

3)facade返回值的问题

a.数据库的返回值是否正确?

b.facade处理是否正确?

 

4)错误内容分析(方法)

a.改的是原有的逻辑?

b.方法访问控制符不是private?(影响范围分析)

c.方法被多处调用?(影响范围分析)

d.方法参数或返回值错误?(参数中有无引用型?ref?out?)

e.方法是重载?(其他方法是否需要同时修改?)

f.方法是重写?(其他子类的方法是否需要同时修改?)

g.方法是虚方法?(可能子类也要修改)

h.此类是否被继承?或继承于其他类?

 

5)错误内容分析(变量)

a.变量访问控制符不是private?什么情况下会修改变量?什么情况下会使用变量?(影响范围分析)

b.变量是否为static?是否会出现多个实例同时运行,同时修改变量的情况?

c.变量为值类型?引用类型?有无作为参数传递到其他方法?方法中有无修改?

d.变量为空的情况是否考虑过?

e.变量赋值是否会超出范围?

f.变量是否有类型转换?转换中会不会出现精度缺失或转换后的值不同?

g.变量是否为一次处理中使用?是否及时清空?

h.变量是否需要对外公布为属性?

 

3.修正代码

a.just do it

b.有没有更好的实现方法?

c.有没有影响到程序架构?设计?

d.重构

原创粉丝点击