有一种类型的bug是数据出错,比如远程教育平台中根据学员学习时长计算出成绩然后显示,另如学员交费后插入进了错误的表等。修复这种bug的关键是看代码的逻辑,代码的逻辑是动态的,可以让你把握问题的前前后后,并且找出错误的地方。我以前不看代码逻辑,而是先看数据库里的数据,然而数据库里的数据时静态的,这种方法不太好,费了九牛二虎之力找到数据后,判断正确与否(当然,有时很难单纯的判断),还要去分析代码逻辑,这是绕了一个弯,绕了这个弯后,相信自己的脑袋已经浑噩了吧!因此,处理数据出错的bug,建议从分析代码逻辑开始,找出不符合所需逻辑的代码,即找出bug。对于页面显示数据出错的问题,比如第一个例子,可以从显示数据的代码逻辑开始,如果没有错误,然后,可以查看数据库,验证数据是否正确(一般是错误的,因为显示的代码逻辑是正确的),这是必定是插入数据过程出错,查看插入数据的代码逻辑,找出bug,改之即可。
对项目的后期维护,尤其是非自己开发的项目,在解决某单一功能、单一页面显示的的问题时,没有必要读懂整个项目,那样做既耗时又没有针对性。好的办法是善于运用Eclipse提供的搜索功能,ctrl+f在一个页面搜索关键字,在解决问题无进展时,或许换一个搜索关键字,可以找到解决问题新途径。在华中科技项目中,一个下载Excel的jsp页面,我不知其数据的转移过程,在小哥的帮助下,他搜索了页面的“无”字,给我找到了解决问题的突破口。ctrl+shift+r搜索项目中的页面,ctrl+h在指定范围的页面搜索关键字,例如可搜索“insert into Table”,找出所有插入Table表的入口。ctrl+t搜索方法的定义位置。