Mientras buscaba en un proyecto de Python, encontré algunas líneas comentadas con # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
¿Qué noqa
significa en Python? ¿Es específico solo de Python?
Mientras buscaba en un proyecto de Python, encontré algunas líneas comentadas con # noqa
.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
¿Qué noqa
significa en Python? ¿Es específico solo de Python?
Respuestas:
Agregando # noqa
a una línea indica que el linter (un programa que verifica automáticamente la calidad del código) no debe verificar esta línea. Cualquier advertencia que haya generado el código será ignorada.
Esa línea puede tener algo que "se ve mal" para la interfaz, pero el desarrollador entiende y tiene la intención de que esté allí por alguna razón.
Para obtener más información, consulte la documentación de Flake8 para Seleccionar e ignorar infracciones .
// jshint ignore:line
( jshint.com/docs )
# noqa
. O forma larga específica # noinspection PyUnresolvedReferences
por ejemplo.
# noqa F0001
?
# nopep8
también se puede usar, lo cual es un poco más claro, en mi opinión.
En general, se hace referencia en Python Programming para ignorar las advertencias de PEP8 .
En palabras simples, las líneas que tienen #noqa al final serán ignoradas por los programas linter y no generarán ninguna advertencia.
¿Sabes que? Incluso Guido van Rossum (el creador de Python) hizo esta pregunta antes : D
Un poco de etimología de# noqa
:
Solía ser "nopep8" pero cuando Flake8 y Pep8 querían un calificador común @florentx sugirió "NoQA" como en "Sin garantía de calidad" (iirc) y se quedó.
Algunos usos básicos de# noqa
(con flake8 ):
# flake8: noqa
: se omiten los archivos que contienen esta línea# noqa
comentario al final : no emitirá advertencias# noqa: <error>
, por ejemplo, # noqa: E234
al final : ignorar errores específicos en una línea
noqa
lo más probable significano quality assurance
. Le dice al software de análisis de código que ignore las advertencias.