Статический анализ кода в 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. Мой ответ на другой похожий вопрос здесь.
Не совсем "статический анализатор кода", но даже немного больше: