检查Python代码的正确性

时间:2009-09-11 11:56:30

标签: python compiler-construction correctness

在C ++中我有编译器告诉我重构后我的代码是否有问题。如何确保Python代码在更改后至少是正确的?可能有一些愚蠢的错误,如错误的函数名称等,在编译时很容易找到。

由于

9 个答案:

答案 0 :(得分:8)

看起来PyCheckerpylint是您正在寻找的

答案 1 :(得分:3)

  1. 使用支持代码突出显示的编辑器/ IDE。例如,Notepad ++具有单词突出显示功能,我发现它非常有用。

  2. 使用单元测试

  3. 愚蠢的错误将首先被淘汰,所以我不会担心这种类型的错误。这是你应该害怕的“聪明”错误。

答案 2 :(得分:3)

  1. 使用pylintPyChecker等工具。

  2. 编写单元测试。

答案 3 :(得分:3)

单元测试。 http://docs.python.org/library/unittest.html

如果您的测试是以合理的粒度级别编写的,那么它可以像运行lint或编译器一样快速进行单元测试。

答案 4 :(得分:2)

  • 静态分析(来自IDE,或来自pyLint和pyChecker等工具)是一种非常快速有效的方法,可以检查简单错误并强制执行常用样式。
  • 单元测试是确保代码代表合同的好方法。
  • 代码审核和结对编程是查找各种错误以及在团队中传播知识的最佳方式之一。

所有选项都需要一些时间,设置和执行。然而,收益是巨大的,远高于投资。

答案 5 :(得分:0)

Eclipse有一个很好的python plugin来进行语法高亮和调试。

答案 6 :(得分:0)

Pylint几乎正在做你想要的。

您还可以强制编译python文件。这将显示一些基本的语法错误(它没有c ++编译器的所有功能)

我已阅读this article并决定使用pyDev和ant创建一个自动构建系统。它编译python文件并运行单元测试。下一步是将pylint集成到该流程中。

我希望它有所帮助

答案 7 :(得分:0)

与其他语言一样,您应该在整个代码中使用断言。当必须依赖谓词为程序运行时才使用断言,而不是异常/错误处理。应该使用断言来检查不可恢复的错误并强制程序崩溃。 More on assertions (and python error checking in general)

答案 8 :(得分:0)

你可能需要这个:

python -m py_compile script.py