关于编译器构造:检查Python代码的正确性

Checking Python code correctness

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

谢谢


看起来像PyChecker或pylint是你正在寻找的


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

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


  • 使用pylint或PyChecker等工具。

  • 写单元测试。


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

  • 使用单元测试

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


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

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


    你可能需要这个:

    1
    python -m py_compile script.py


    与其他语言一样,您应该在代码中使用断言。当必须依赖谓词为程序运行时才使用断言,而不是异常/错误处理。应该使用断言来检查不可恢复的错误并强制程序崩溃。更多关于断言(以及一般的python错误检查)


    Pylint几乎正在做你想要的。

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

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

    我希望它有所帮助


    Eclipse有一个很好的python插件,用于进行语法高亮和调试。