Ao pesquisar em um projeto Python, encontrei algumas linhas comentadas # noqa.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
O que noqasignifica em Python? É específico apenas para Python?
Ao pesquisar em um projeto Python, encontrei algumas linhas comentadas # noqa.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
O que noqasignifica em Python? É específico apenas para Python?
Respostas:
Adicionar # noqauma linha indica que o linter (um programa que verifica automaticamente a qualidade do código) não deve verificar essa linha. Quaisquer avisos que esse código possa ter gerado serão ignorados.
Essa linha pode ter algo que "parece ruim" para o linter, mas o desenvolvedor entende e pretende que ele esteja lá por algum motivo.
Para obter mais informações, consulte a documentação do Flake8 para selecionar e ignorar violações .
// jshint ignore:line( jshint.com/docs )
# noqa. Ou formulário longo específico, # noinspection PyUnresolvedReferencespor exemplo.
# noqa F0001?
# nopep8também pode ser usado, o que é um pouco mais claro.
Geralmente é referido na Programação em Python para ignorar os avisos do PEP8 .
Em palavras simples, as linhas com #noqa no final serão ignoradas pelos programas linter e não emitirão nenhum aviso.
Você sabe o que? Até Guido van Rossum (o criador do Python) fez essa pergunta antes : D
Um pouco de etimologia de# noqa :
Costumava ser "nopep8", mas quando Flake8 e Pep8 queriam um qualificador comum, a @florentx sugeria "NoQA" como em "No Quality Assurance" (iirc) e fica preso.
Alguns usos básicos de# noqa (com flake8 ):
# flake8: noqa: arquivos que contêm essa linha são ignorados# noqacomentário no final : não emitirá avisos# noqa: <error>, por exemplo, # noqa: E234 no final : ignore erros específicos em uma linha
noqaprovavelmente significano quality assurance. Ele informa ao software de análise de código que ignore os avisos.