昨天下午本身只需要修改一个小bug,却用了半天的时间。回顾一下事情的原因。
刚开始找bug时,就是看代码,从jsp页面开始看,然后看java源代码,很快就定位到了错误的根源,但是怎么改却一点思路都没有,先是查看了selectOneMenu标签的使用,然后看list的标签是怎么回事,刚开始想的还是从jsp页面找问题。看了半天也没看出个所以然来。一直是修改jsp页面代码,看网页的变化。
最开始时调jsp页面代码,对应的jsp会有变化。这确定自己找到了需要修改的jsp页面。但是bug依旧存在。怎么改呢,还是不知道。主要还是不知道它的运行逻辑是什么?
修改一个bug花的时间太长最主要的一个原因是只看代码,没有意识到使用debug模式的重要性。
如果能够早点使用debug,追踪程序运行到每一个的位置,并且随时查看值的变化,也就不会犯这种错误了。
以后需要注重debug的使用,改正以前看代码使用sysout的方法,这个方法效率太低,不容易找到错误的根本。
程序运行的本质就是传值,参数从这传到那,并在适时的地方修改一下这个值,因此使用debug一步步看值的变化有助于找到错误的原因。
另外还有一点,中间在调试jsp页面时,发现不管怎么修改jsp的代码,对jsp页面一点影响都没有,jsp显示的还是原来的东西,打了断点也进不去。
最后才明白,是因为虽然jsp的名字是一样的,但是进入这个jsp页面的url却修改了,我进入的是服务器端的页面,修改本地的jsp页面,对服务器端的自然没有任何影响。因此如果还遇到修改jsp代码页面没有变化的问题,需要及时查看url是否正确,是本地还是服务器端,避免时间的无效浪费。
另外本次着重强调一点就是debug的使用,debug,debug,debug,有问题就用debug!