Python中的静态代码分析?

时间:2012-04-23 11:06:37

标签: python debugging refactoring static-code-analysis

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

  • snakefood for module dependencies
  • 动态调用图的pycallgraph
  • pylint for bugs

有静态呼叫分析仪吗?如果我想编制一个自定义的,这将是最简单的方法吗?

您能想到哪种其他类型的静态代码检查?或者甚至可能像ABCs那样的Python魔术?

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

4 个答案:

答案 0 :(得分:2)

结帐pycheckerpyflakes。有一个着名的问题要讨论pylint-pychecker-or-pyflakes

答案 1 :(得分:2)

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

它具有强大的错误检查能力,但它没有通过其界面公开,但我认为你可以根据它做很多很棒的检查。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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