程序不可能没有bug即便是最顶级的程序员,而且越专业的程序员就越会花时间去调试自己写的程序以求达到完美。那么接下来就像大家介绍一下常见的错误以及调试方法。
常见问题:
1.
这应该是我提到过最多次的问题,只要是一个小小的缩进问题都会导致程序的错误以及无法运行,可见缩进的重要性。
2.
大家都知道变量有很多类型:int,string,float…但是在写程序中如果错误的表示了变量的类型,很有可能会导致输出结果的错误,或者是程序的无法运行,因为有些语句和函数需要特定的变量类型的参与。
3.
在写循环语句时候,我们常常会用到range等函数,但是这就出现了一个问题:循环最终到底会在哪里停止,如果考虑不当的话,很可能会导致循环的次数错误,甚至一直无限进行。
4.
在定义完一个函数,并在函数内书写代码的时候,我们会定义一些变量,但是有时候我们会把函数外的变量直接拿到函数内使用,或者把函数内的变量拿出使用,这就犯了局部变量和全局变量混淆的问题,这种问题一般会导致变量没有被定义的问题。
5.
在处理一些十分复杂的问题,例如上面的24点的问题时,我们有时候可能会遗漏一些可能的情况,这种问题往往不会明显的表现出错误,但是它会导致程序的适应性不高,有可能在一些特殊的情况下无法运行。
调试方法
验证方法
在把所有表面上的错误解决之后,为了更加深入的增加程序的适应性,我们就需要用一些方法来验证程序。举个例:之前的24点问题,我为了验证数字的调换不会影响最终的结果(例如1347和3174所产生的24点的组合个数是一样的),我带入了许多值进行运算来验证这个程序,甚至把所有的四个数的组合输入到程序中来验证程序的适应性,试图把程序写到完美。还有就是大家可以带入一些特殊值来测试程序边界情况的运行情况。最后我希望大家记住任何程序都可以有改进的空间,大家不要认为写完代码之后就完成了整个程序,其实连50%都不到!
- (2013-10-06 22:57:35)
- (2013-10-03 22:18:28)
- (2013-10-02 22:15:46)
- (2013-10-02 22:10:41)
- (2013-09-23 23:31:49)
- (2013-09-21 23:37:27)
- (2013-09-21 23:32:54)
- (2013-09-20 23:09:39)
- (2013-09-20 23:09:10)
- (2013-09-02 19:26:01)