Статический анализ кода в Python?

Какой полезный статический анализ кода вы можете порекомендовать для Python. Я считаю, что они полезны для рефакторинга кода. я знаю

  • snakefood для зависимостей модуля
  • pycallgraph для динамических графов вызовов
  • Пилинт для жуков

Есть ли статические анализаторы вызовов? Если бы я хотел запрограммировать пользовательский, что было бы самым простым способом?

О каком другом типе статических проверок кода вы можете думать? Или, может быть, даже немного магии Питона, как азбука?

РЕДАКТИРОВАТЬ: я обнаружил, что либо с помощью http://docs.python.org/3.3/library/ast.html или, возможно, даже http://www.astroid.org/ можно использовать для программирования некоторых пользовательских анализатор. Затем можно использовать graphviz для визуализации или даже PlantUML для UML-графиков.

4 ответа

Проверь пичекера и пайфлкса. Был знаменитый вопрос, чтобы обсудить pylint-pychecker-или-pyflakes

Это очень мощный механизм вывода типа Python https://github.com/yinwang0/pysonar2

у него есть сильная возможность проверки ошибок, но он не раскрывается через его интерфейс, но я предполагаю, что вы могли бы сделать много удивительных проверок на его основе.

Pysonar2 - очень хорошая реализация abstract interpretation набрать вывод проектов Python. Мой ответ на другой похожий вопрос здесь.

Не совсем "статический анализатор кода", но даже немного больше:

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

Другие вопросы по тегам