开发测试过程中,最恐怖的错误不是编译错误,而是运行时的错误,更恐怖的当属逻辑错误了(所谓逻辑错误指的是开发人员开发过程中没有把问题看得足够透彻,所以逻辑上会有一些出入)。而不幸的是,自己检查自己编写的代码实很难发现错误的,因为每个人的思维都有特定的“轨迹”,每次检查我们都会按照固有的逻辑去检查我们编写的具有逻辑错误的代码,所以很难很难发现错误。所以应使用以下方法进行开发测试:
1. 按模块开发与测试,没写完一个子模块或者小模块,及时的进行测试,确保自己写的子模块是完全正确的,切莫心急,堆砌了一大堆代码才开始运行测试,因为堆砌大量代码后,程序出错了是很难定位到的!
2. 以程序运行反馈的结果驱动,多思考为什么会得到这样的结果,反向的思维往往能事半功倍。
3. debug打断点,看程序运行过程中,程序内部到底发生了什么,很多时候程序的运行逻辑和我们所想的完全不一样,不要傻傻的想当然。
4. 对于初学者,对编程的很多知识点理解不深、模糊或存在一定的误解。在调试工程项目时,可以通过自己编写测试的小程序加深对知识点的理解和运用能力后在回来看工程项目,往往能发现新的问题。
5. 如果以上方法还是不能发现问题,并且自己也已经写了很多的代码,实在无法发现和定位错误位置,那就重新开始再写一遍代码,虽然很花时间,但是你会发现第一遍编写过程中很多你没有考虑到的问题,在第二次编写代码过程中都会被你考虑到,思路清晰很多,大概所谓的温故而知新也是这个道理吧。
6. 最后,最无奈也是必不可少的方法——以上都不能发现错误和问题所在的话,只能反复的查看自己的代码,反复的捋清思路,在此过程中尽量忘掉自己的固有思路,像一个小白一样,仔仔细细的看代码中的每一条语句,想想为什么这样子写?这条语句有什么作用?
(ps:有时候我们会发现,即使大部分是拷贝过来的代码,仍然会有错,而源代码实可以正确运行的,拷贝的代码却无法运行,这着实让人抓狂,恨不得砸了电脑。然而事实是,肯定有某个地方你自己搞错了,那就反反复复的查看对比比对吧,一次不能发现问题两次、两次不行三次,不断的砸时间进去,总有一天会发现问题所在的,谁让我们是程序猿呢!)