Проверка правильности кода Python - PullRequest
5 голосов
/ 11 сентября 2009

В C ++ у меня есть компилятор, который сообщает мне, если что-то не так с моим кодом после рефакторинга. Как убедиться, что код Python хотя бы корректен после изменений? Там могут быть некоторые глупые ошибки, такие как неправильное имя функции и т. Д., Которые довольно легко найти во время компиляции.

Спасибо

Ответы [ 9 ]

8 голосов
/ 11 сентября 2009

Похоже, PyChecker или pylint - это то, что вы ищете

3 голосов
/ 11 сентября 2009

Модульный тест. http://docs.python.org/library/unittest.html

Если ваши тесты написаны с разумной степенью детализации, модульное тестирование может быть столь же быстрым, как и запуск lint или компилятора.

3 голосов
/ 11 сентября 2009
  1. Используйте такие инструменты, как pylint или PyChecker .

  2. Запись модульных тестов.

3 голосов
/ 11 сентября 2009
  1. используйте редактор / IDE, который поддерживает подсветку кода. Например, в Notepad ++ есть функция выделения слов, которая мне кажется очень полезной.

  2. использовать юнит-тесты

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

2 голосов
/ 11 сентября 2009
  • Статический анализ (как из среды IDE, так и из таких инструментов, как pyLint и pyChecker) - это очень быстрый и эффективный способ проверки простых ошибок и применения общего стиля.
  • Модульные тесты - отличный способ убедиться, что код соответствует своему контракту.
  • Обзоры кода и парное программирование - один из лучших способов найти ошибки всех видов и распространить знания в команде.

Все параметры требуют времени для настройки и выполнения. Тем не менее, выгоды огромны, и намного выше, чем инвестиции.

0 голосов
/ 25 марта 2015

Вам может понадобиться это:

python -m py_compile script.py
0 голосов
/ 13 марта 2012

Как и в других языках, вы должны свободно использовать утверждения в коде. Используйте утверждения, когда вы должны полагаться на предикат, чтобы быть верным для запуска программы, а не как обработка исключений / ошибок. Утверждение должно использоваться для проверки на наличие неисправимых ошибок и принудительного сбоя программы. Подробнее об утверждениях (и проверке ошибок Python в целом)

0 голосов
/ 11 сентября 2009

Pylint почти делает то, что вы ищете.

Вы также можете принудительно компилировать ваши файлы Python. Это покажет некоторую базовую синтаксическую ошибку (он не обладает всеми возможностями компилятора c ++)

Я прочитал эту статью и решил создать автоматизированную систему сборки с pyDev и ant. Он выполняет компиляцию файлов Python и запускает модульные тесты. Следующим шагом является интеграция Pylint в этот процесс.

Надеюсь, это поможет

0 голосов
/ 11 сентября 2009

Eclipse имеет хороший Python-плагин для подсветки и отладки синтаксиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...