【问题标题】:Static code analysis in Python?Python中的静态代码分析?
【发布时间】:2012-04-23 11:06:37
【问题描述】:

您可以为 Python 推荐哪些有用的静态代码分析。我相信它们对于重构代码很有用。 我知道

  • snakefood 用于模块依赖项
  • 用于动态调用图的 pycallgraph
  • 错误的 pylint

是否有静态调用分析器?如果我想编写一个自定义程序,哪种方法最简单?

您还能想到哪些其他类型的静态代码检查?或者甚至是一些像 ABC 这样的 Python 魔法?

编辑:我发现使用http://docs.python.org/3.3/library/ast.html 甚至http://www.astroid.org/ 都可以用来编写一些自定义解析器。然后可以使用 graphviz 来可视化,甚至可以使用 PlantUML 来制作 UML 图。

【问题讨论】:

  • 这似乎是关于 5 个不同的问题。你可能想把它分开。
  • 单元测试对于重构代码也很有用。

标签: python debugging refactoring static-code-analysis


【解决方案1】:

查看pycheckerpyflakes。有一个著名的问题要讨论pylint-pychecker-or-pyflakes

【讨论】:

    【解决方案2】:

    这是一个非常强大的python类型推断器 https://github.com/yinwang0/pysonar2

    它有很强的错误检查能力,但它不会通过它的界面暴露出来,但我认为你可以基于它做很多很棒的检查。

    【讨论】:

      【解决方案3】:

      不完全是“静态代码分析器”,甚至更多:

      http://code.google.com/p/shedskin/

      【讨论】:

        【解决方案4】:

        Pysonar2 是 abstract interpretation 的一个非常好的实现,用于类型推断 Python 项目。我对另一个类似问题的回答是here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-04-01
          • 2020-07-03
          • 1970-01-01
          • 2012-10-04
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          • 2010-11-11
          相关资源
          最近更新 更多