Линтинг питон: что такое хорошо?



Есть ли какие-либо хорошие модули, которые вы можете запустить против вашего кода, чтобы поймать ошибки кодирования? Я ожидал, что pylint поймает ошибки в использовании аргументов по умолчанию для функций , таких как:



>>> def spam(eggs=[]):
... eggs.append("spam")
... return eggs


Но был разочарован, обнаружив, что о них не сообщают. Я ищу что-то помимо форматирования PEP8.
531   3  

3 ответов:

Я попробовал первый пример, и PyLint 0.18.1 дал мне предупреждение:

W:  1:spam: Dangerous default value [] as argument

На днях я сделал закладку на этом сайте, отчасти потому, что там есть раздел под названием "Python code quality tools", в котором перечислены многие утилиты для проверки кода, включая pylint и пять других.

Я думал об интеграции всех из них в нашу автоматизированную тестовую систему...

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

Comments

    Ничего не найдено.