инструменты или методы, помогающие избежать ошибок в python / django - PullRequest
2 голосов
/ 13 ноября 2011

Какие инструменты или методы могут помочь избежать ошибок, особенно глупых ошибок, таких как опечатки, кодирование на Python и Django?

Я знаю, что модульное тестирование - это "правильный" способ для каждой строки кода, но есть ли какие-нибудь ярлыки?

Я знаю pylint, но, к сожалению, он не проверяет именованные параметры Django ORM, где опечатка может остаться незамеченной. Есть ли инструмент, который может справиться с такими ошибками?

Коллега подумал о том, чтобы собрать интеллектуальную статистику по токенам (например, по поводу именованных параметров для функций ...), и при обнаружении токена "один раз в базе кода" его предупреждают как возможную опечатку. Знаете ли вы какой-либо инструмент, который делает что-то подобное?

Ответы [ 3 ]

2 голосов
/ 13 ноября 2011

pyflakes - это статический анализатор, который найдет необъявленные переменные (например, опечатки) и т.п. У многих редакторов есть плагины, которые запускают pyflakes на лету или при сохранении. Это не заменяет модульных тестов, но может сэкономить несколько ненужных циклов сохранения-перезагрузки-запуска

2 голосов
/ 13 ноября 2011

Извините, я не знаю, правильно ли я вас понимаю,

Но я думаю, что хорошая IDE имеет автоматическую проверку кода, и некоторые из них также работают с Django.Например, есть хороший плагин для Python для Eclipse, который называется PYDEV .Существует также хорошая IDE, основанная на Eclipse / Pydev под названием Aptana Studio , которую вы можете попробовать (она также имеет хорошую поддержку для редактирования HTML / JS / CSS).

Этот вопрос также является очень хорошим сравнением всех Python IDE.

0 голосов
/ 16 ноября 2011

Спасибо за ваши ответы, я проверю эти инструменты.

Я хотел бы поделиться с вами другими идеями (не относящимися к python / django):

  1. Утверждение условий в коде - но удаление из производственного кода.

  2. Выполнение периодических проверок данных (например, отправка электронного письма в dev при обнаружении неожиданного состояния) - в случае, если ошибка проскальзывает, она может быть обнаружена быстрее, прежде чем будет повреждено больше данных (но, увы, после того, как некоторые из них уже испорчен).

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

...