Как отключить предупреждения 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 могут послужить хорошим напоминанием и мотивацией для делать это.