Как отключить предупреждения TODO в pylint?
При запуске pylint в файле python по умолчанию отображаются предупреждения о комментариях TODO. Например:.
************* Модуль foo
W: 200, 0: TODO (SE): исправить это! (FIXME)
W: 294, 0: TODO (SE): элемент backlog (fixme)
W: 412, 0: TODO (SE): Удалить ведро? (FIXME)
В то время как я действительно считаю это поведение полезным, я хотел бы узнать, как временно и/или постоянно включать или отключать эти конкретные предупреждения.
Я могу сгенерировать файл конфигурации pylint:
pylint --generate-rcfile > ~/.pylintrc
Я просто уверен, что помещать в этот файл, чтобы отключить предупреждения для комментариев TODO.
Ответы
Ответ 1
в сгенерированном файле конфигурации, вы должны увидеть раздел
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX,TODO
просто отбросьте TODO из списка "notes".
Конфигурационный файл находится в
~/.pylintrc
Если вы не создали файл конфигурации, это можно сделать с помощью
pylint --generate-rcfile > ~/.pylintrc
Ответ 2
Наряду с решением, опубликованным @sthenault, где вы можете отключить все предупреждения, Pylint также позволяет игнорировать одну строку (полезно, если вы захотите разобраться с ней в будущем), например так:
A_CONSTANT = 'ugh.' # TODO: update value # pylint: disable=fixme
или указав ID правила:
A_CONSTANT = 'ugh.' # TODO: update value # pylint: disable=W0511
Ответ 3
В наших проектах у нас есть файл pylint.cfg. Мы используем --rcfile
pylint, чтобы указать на этот файл.
В pylint.cfg я могу отключить проверку W0511, которая является проверкой, которая жалуется на "TODO" и подобные термины в комментариях. Просто добавьте W0511
в список через запятую, чтобы disable
параметр.
Но помните, что, как говорит дядя Боб Мартин, TODO не является оправданием для того, чтобы оставлять плохой код в системе, и код следует регулярно сканировать, чтобы удалить TODO, и проблемы с Pylint и/или sonarqube могут послужить хорошим напоминанием и мотивацией для делать это.