tutorial real how code python comments terminology code-analysis pep8

real - ¿Qué significa ''# noqa'' en los comentarios de Python?



how to document python code (3)

noqa = NO-QA (SIN garantía de calidad)

En general, en Python Programming se hace caso omiso de las advertencias 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.

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é significa noqa en Python? ¿Es específico solo para Python?


¿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 "No Quality Assurance" (iirc) y se quedó.

Algunos usos básicos de # noqa (con flake8 ):

  • # flake8: noqa archivos que contienen esta línea
  • líneas que contienen un comentario # noqa al final : no emitirá advertencias
  • # noqa: <error> , por ejemplo, # noqa: E234 al final : ignorar errores específicos en una línea
    • se pueden dar múltiples códigos de error, separados por comas
    • los dos puntos antes de que se requiera la lista de códigos

Agregar # 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 .