当你写了一段漂亮的代码,却发现到它并不像你预期的那样工作时,那得是多么的沮丧。这时候就需要用到单元测试了,检查每一个代码块并帮助你修复bug。

但并不是所有的 bug 都是一样的。有些 bug 是意想不到的,根本看不出来,即使对于有经验的开发人员来说也很难修复。这些更有可能发生在大型和复杂的项目中,及早发现它们可以节省大量的时间。

先检查下愚蠢但常见的错误

虽然说这个清单并不能涵盖了你曾经犯过的所有愚蠢的错误。但是熟悉它至少可以帮助你消除最常见的错误。

是否忘了右括号?

每个人都会遇到这种情况——你开心地编写代码,但是在编写代码的过程中,你忘记输入你正在处理的数组或者参数列表的右括号。

一些开发人员在输入一个左括号之后会立即输入一个右括号,然后再输入中间需要的参数。当然现在大多数IDE 都会自动关闭括号,所以如果你经常会忘记括号,那就可以考虑抛弃旧的 IDE咯。

是否忘记了冒号?

即使一些资深的开发人员也会犯这个错误。当构建一个新的类时,经常在输入当前代码的时候你已经在构思下面的逻辑了,所以就遗忘了那个小小的冒号:

class SillyMistake():
    def AvoidThis():
        print("Don't do silly mistakes!")

一个比较好的经验就是,每当要增加一行的缩进量时,则在其前一行添加一个冒号。

是否混淆了等号和赋值操作符?

什么时候使用 = ,什么时候使用 == ?当你正在检查或比较两个值时,使用 = = 。另一方面,如果是给一个变量赋值,使用 = 。

python windows 后台检测代码 怎么检查python代码错误_python

是否忘记区分大小写?

虽然这是个很小的错误,但却经常发生。假设定义了变量 CamelBucket,然后在后面的代码中调用 camelBucket,然后发现并没有用。很有可能,你非常清楚 Python 是区分大小写的,但是忘记按 shift 键。

大多数现代 IDE 都可以通过提供巧妙的建议来帮助你避免这种错误。因此,如果你容易出现拼写错误,你可以考虑升级你的IDE。

是否在遍历列表时修改列表?

这可能发生在每个初级开发人员身上:你已经建立了一个列表,现在想要更改其中的一些内容。没关系吧?

大错特错!考虑如下的情况:

mylist = [i for i in range(10)]
for i in range(len(mylist)):
    if i%2==0: del mylist[i]

这会引发错误,因为最终要遍历列表中不再存在的项目。

是否将自己的模块命名为Python的标准库?

Python提供了大量的便准库,但有的时候你也需要创建自己的模块,这个时候应要有自己的命名哦。例如,定义一个名为 numpy.py 的模块,那么你在使用的时候将会导致混淆。

python windows 后台检测代码 怎么检查python代码错误_软件测试_02

如何避免愚蠢的错误

要学会从错误中吸取教训。作为初级开发人员,您可能每天都会犯这样的错误。但是随着时间的推移,它们变得越来越少。

你也可以进入下一个阶段,养成一些良好的习惯,这样你就不会犯微不足道的错误。这些只是许多技巧中的一小部分,但是它们可以帮助您避免许多错误。

始终初始化变量

如果你定义了一个变量,并且对他进行了初始化,那么代码将会完美的运行。但是,每次在定义的时候进行初始化又会显得有些繁琐。然而我们会经常忘记哪些变量被赋值了,哪些没有。而且初始化变量会迫使你思考你要处理的是哪种类型的变量,这可能会防止错误的发生。

这就是为什么许多经验丰富的开发人员使用默认值初始化每个变量,比如0、 None、[]、””等等。

使用括号调用函数以避免麻烦

在Python中,我们需要这样调用函数:callingthisfunction (),而不是:notcallingthisfunction,无论是否有参数。这虽然看起来微不足道,但却很重要。

例如,如果有一个名为 file 的文件,并且希望用 Python 关闭它,那么可以使用 file.close ()。不过,如果你写的是file.close,代码也不会抛出错误,并且继续运行,当然它不会关闭文件。然而,如果你需要在一个有成千上万行代码的项目中找到这样的错误呢...

所以从今天开始,调用函数的时候记得使用括号!

python windows 后台检测代码 怎么检查python代码错误_bug_03

导入模块时不要带扩展名

同样,这是相当微不足道的,但往往被初学者忘记。如果调用模块,则永远不要带扩展名,无论它是来自Python标准库还是其他地方。

注意看下面的错误示例:

import numpy.py         # don't do that!!!

删除那个.py 扩展名!导入的时候一定不要带扩展名!

缩进格式

虽然你知道要在整个文件中使用相同的缩进格式,担当与别人合作开发项目的时候,这仍然是一个不小的陷阱。

因此在开始之前一定要约定好缩进格式,然后在整个文档中都保持同样的缩进格式。

另一方面,如果你在一行中使用空格,在另一行中使用制表符,那么有时Python不会得到你期望的结果。所以一定要在约定好缩进格式哦。

总结

每个人都会犯错,但不要总是犯愚蠢的错误。很有可能你已经犯了上面提到过的一些错误,但没关系,从今天开始避免。这不仅仅是为了自己的进步,也是为了防止因为愚蠢的错误而耽误项目进度。

·  END  ·