2012-04-23 6 views
5

Welche hilfreiche statische Code-Analyse können Sie für Python empfehlen. Ich glaube, sie sind nützlich für das Refactoring von Code. Ich weißStatische Codeanalyse in Python?

  • snakefood für Modulabhängigkeiten
  • pycallgraph für dynamischen Aufruf Graphen
  • Pylint für Bugs

Gibt es statische Anruf Analysatoren? Wenn ich einen benutzerdefinierten programmieren wollte, was wäre der einfachste Weg?

Welche anderen Arten von statischen Code-Überprüfungen können Sie sich vorstellen? Oder vielleicht sogar eine Python-Magie wie ABC?

EDIT: Ich habe festgestellt, dass entweder http://docs.python.org/3.3/library/ast.html oder vielleicht sogar http://www.astroid.org/ verwendet werden kann, um einige benutzerdefinierte Parser zu programmieren. Dann kann man mit graphviz PlantML für UML-Graphen visualisieren oder sogar darstellen.

+4

Dies scheint etwa 5 verschiedene Fragen zu sein. Vielleicht möchten Sie es aufteilen. –

+0

Unitests sind auch für Refactoring-Code nützlich. – dm03514

Antwort

2

dies ist ein sehr leistungsfähiges Python Art zu diskutieren, Rückschließer https://github.com/yinwang0/pysonar2

es starke Fehlerprüfung Fähigkeit hat, aber es über seine Schnittstelle nicht ausgesetzt ist, aber ich nehme an, Sie viele ehrfürchtige Kontrollen tun könnte darauf basierend.

0

Pysonar2 ist eine sehr nette Implementierung von abstract interpretation, um Inferenz Python-Projekte zu schreiben. Meine Antwort auf eine andere ähnliche Frage ist here.