修改代码的艺术--YH维护修改“全部退餐”有感
2011-01-20 15:24
423 查看
2011/1/20上午接到王经理的电话,额,现在来的电话基本上都是YH店出现系统问题了。次数多了,都形成条件反射了。
Bug描述:在前台售单之后,需要退单操作,当输入单号查询出该单所有食物信息后,[全部退餐]功能异常,会提示“未捕获的异常,…. index超出范围….”。
问题解决经过:通过本地测试,发现的确存在这个未捕获的异常,异常存在于该页面的267行代码。查看代码,这一行代码是我改动过的,是我之前为了改正一个”未能正确显示收银员id”的Bug时改动的。
在看代码之前,我分析这种异常一般都是在for循环这类代码执行过程中,在退单功能代码块中,只有两处和退单有关的代码块用到了for循环,经查看,问题就是出现在这里。仔细查看代码,这里边我们需要遍历form窗体中的一个datagridview控件的所有行信息,而就在问题就出现在这里,.rows(i) 和.selectedrows(i) 的不同,我错误的写成了后者。那么,经过了IDE的编译,但运行这部分代码会出现问题。
这是由我修正一个bug而引来了另一个bug的基本情况。昨天看《修改代码的艺术》,里边讲到“当修改一个执行过程代码,则会引进一个bug”。我当时,只是明白这种可能性,并没有过多的感触,那时还在感触,额,这个问题的确可能出现。我应该会注意到的。事实呢,今天就验证了昨天的话,修正了一个bug,又引进了一个bug。我和伟东都意识到,这个问题主要是由于我们的单元测试、集成测试、系统测试,不规范、不完整所导致的。修改代码,重新发布了一个新版本V2.06,便在本地部署调试的时候,主要侧重于退单这部分功能,我们发现根据单号查询出的食物信息表(用datagridview容器承载)中,总会最后留有一个空行,出于潜意识,我选中空行,进行[单个退餐],便又出现了一个bug,”该行对象未有实例…”。额,这里还藏着一个bug….
可能由于客户的一个不小心操作,便会引出这样一个未处理过的bug。
修改代码的艺术,捧着这本艺术,从实践中感悟 修改bug的快乐。
Bug描述:在前台售单之后,需要退单操作,当输入单号查询出该单所有食物信息后,[全部退餐]功能异常,会提示“未捕获的异常,…. index超出范围….”。
问题解决经过:通过本地测试,发现的确存在这个未捕获的异常,异常存在于该页面的267行代码。查看代码,这一行代码是我改动过的,是我之前为了改正一个”未能正确显示收银员id”的Bug时改动的。
在看代码之前,我分析这种异常一般都是在for循环这类代码执行过程中,在退单功能代码块中,只有两处和退单有关的代码块用到了for循环,经查看,问题就是出现在这里。仔细查看代码,这里边我们需要遍历form窗体中的一个datagridview控件的所有行信息,而就在问题就出现在这里,.rows(i) 和.selectedrows(i) 的不同,我错误的写成了后者。那么,经过了IDE的编译,但运行这部分代码会出现问题。
这是由我修正一个bug而引来了另一个bug的基本情况。昨天看《修改代码的艺术》,里边讲到“当修改一个执行过程代码,则会引进一个bug”。我当时,只是明白这种可能性,并没有过多的感触,那时还在感触,额,这个问题的确可能出现。我应该会注意到的。事实呢,今天就验证了昨天的话,修正了一个bug,又引进了一个bug。我和伟东都意识到,这个问题主要是由于我们的单元测试、集成测试、系统测试,不规范、不完整所导致的。修改代码,重新发布了一个新版本V2.06,便在本地部署调试的时候,主要侧重于退单这部分功能,我们发现根据单号查询出的食物信息表(用datagridview容器承载)中,总会最后留有一个空行,出于潜意识,我选中空行,进行[单个退餐],便又出现了一个bug,”该行对象未有实例…”。额,这里还藏着一个bug….
可能由于客户的一个不小心操作,便会引出这样一个未处理过的bug。
修改代码的艺术,捧着这本艺术,从实践中感悟 修改bug的快乐。
相关文章推荐
- 修改代码的艺术--YH维护修改“全部退餐”有感
- 修改代码的艺术
- 读书笔记--修改代码的艺术
- 读书笔记--修改代码的艺术
- git 提交部分修改代码(非全部代码)
- 【DOM编程艺术】综合示例---全部代码
- 使用C#批量修改域帐户信息全部代码
- 使用C#批量修改域帐户信息全部代码
- 维护系统旧代码有感
- 读“如何写出无法维护的代码”有感
- 修改代码的艺术 读书笔记(一,修改代码的四种原因)
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定
- 修改代码的艺术 读书笔记(二,修改现有代码的四种技巧)
- [考试维护]修改代码的感受
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定
- 修改wheelView,全部代码
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定
- 修改代码的艺术pdf
- [cocos2dx] 修改代码全部重新编译的解决方法
- 再读经典重构、重构与模式、修改代码的艺术《一》