Під час пошуку проекту Python я знайшов кілька коментованих рядків # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Що noqa
означає Python? Це специфічно лише для Python?
Під час пошуку проекту Python я знайшов кілька коментованих рядків # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
Що noqa
означає Python? Це специфічно лише для Python?
Відповіді:
Додавання # noqa
до рядка означає, що лінійка (програма, яка автоматично перевіряє якість коду) не повинна перевіряти цей рядок. Будь-які попередження, які може створити код, будуть ігноровані.
У цій лінійці може бути щось, що погано виглядає на літері, але розробник розуміє і має намір це з якоїсь причини.
Для отримання додаткової інформації дивіться документацію Flake8 щодо вибору та ігнорування порушень .
// jshint ignore:line
( jshint.com/docs )
# noqa
. Або довга форма, конкретна, # noinspection PyUnresolvedReferences
наприклад.
# noqa F0001
?
# nopep8
також можна використовувати, що трохи зрозуміліше, imo.
Зазвичай в програмі Python йдеться про ігнорування попереджень PEP8 .
Простими словами, рядки, що мають #noqa в кінці, лінійні програми будуть ігнорувати, і вони не піднімуть жодних попереджень.
Знаєш, що? Навіть Гвідо ван Россум (творець Пітона) ставив це питання раніше : D
Раніше це було "nopep8", але коли Flake8 та Pep8 хотіли, щоб загальний класифікатор @florentx запропонував "NoQA", як у "Без забезпечення якості" (iirc), і він застряг.
Деякі основні звичаї з# noqa
(з flake8 ):
# flake8: noqa
: файли, що містять цей рядок , пропускаються# noqa
коментар наприкінці : не видаватимуть попереджень# noqa: <error>
, наприклад, # noqa: E234
наприкінці : ігноруйте конкретні помилки у рядку
noqa
найімовірніше, стоїть наno quality assurance
. Він повідомляє програмне забезпечення для аналізу коду ігнорувати попередження.