Під час пошуку проекту 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. Він повідомляє програмне забезпечення для аналізу коду ігнорувати попередження.