Линтинг питон: что такое хорошо?
Есть ли какие-либо хорошие модули, которые вы можете запустить против вашего кода, чтобы поймать ошибки кодирования? Я ожидал, что pylint поймает ошибки в использовании аргументов по умолчанию для функций , таких как:
>>> def spam(eggs=[]):
... eggs.append("spam")
... return eggs
Но был разочарован, обнаружив, что о них не сообщают. Я ищу что-то помимо форматирования PEP8.
3 ответов:
Я попробовал первый пример, и PyLint 0.18.1 дал мне предупреждение:
W: 1:spam: Dangerous default value [] as argument
На днях я сделал закладку на этом сайте, отчасти потому, что там есть раздел под названием "Python code quality tools", в котором перечислены многие утилиты для проверки кода, включая pylint и пять других.
Я думал об интеграции всех из них в нашу автоматизированную тестовую систему...
Это не ошибка в вашем коде, если это то, что вы хотите сделать. Однако, как указано в принятом ответе, пустой список является "опасным" значением по умолчанию, поскольку он легко вводит труднодоступные проблемы.
Comments